std:: proj (std::complex)
|
Definido en el encabezado
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > proj ( const std:: complex < T > & z ) ; |
(1) | (desde C++11) |
|
Sobrecargas adicionales
(desde C++11)
|
||
|
Definido en el encabezado
<complex>
|
||
| (A) | ||
|
std::
complex
<
float
>
proj
(
float
f
)
;
std::
complex
<
double
>
proj
(
double
f
)
;
|
(hasta C++23) | |
|
template
<
class
FloatingPoint
>
std:: complex < FloatingPoint > proj ( FloatingPoint f ) ; |
(desde C++23) | |
|
template
<
class
Integer
>
std:: complex < double > proj ( Integer i ) ; |
(B) | |
Contenidos |
Parámetros
| z | - | valor complejo |
| f | - | valor de punto flotante |
| i | - | valor entero |
Valor de retorno
Notas
La función proj ayuda a modelar la esfera de Riemann mapeando todos los infinitos a uno (dando o tomando el signo del cero imaginario), y debe usarse justo antes de cualquier operación, especialmente comparaciones, que podría dar resultados espurios para cualquiera de los otros infinitos.
Las sobrecargas adicionales no están obligadas a proporcionarse exactamente como (A,B) . Solo necesitan ser suficientes para garantizar que para su argumento num :
-
Si
num
tiene un tipo de punto flotante
estándar
(hasta C++23)
T, entonces std :: proj ( num ) tiene el mismo efecto que std :: proj ( std:: complex < T > ( num ) ) . - En caso contrario, si num tiene un tipo entero, entonces std :: proj ( num ) tiene el mismo efecto que std :: proj ( std:: complex < double > ( num ) ) .
Ejemplo
#include <complex> #include <iostream> int main() { std::complex<double> c1(1, 2); std::cout << "proj" << c1 << " = " << std::proj(c1) << '\n'; std::complex<double> c2(INFINITY, -1); std::cout << "proj" << c2 << " = " << std::proj(c2) << '\n'; std::complex<double> c3(0, -INFINITY); std::cout << "proj" << c3 << " = " << std::proj(c3) << '\n'; }
Salida:
proj(1,2) = (1,2) proj(inf,-1) = (inf,-0) proj(0,-inf) = (inf,-0)
Véase también
|
devuelve la magnitud de un número complejo
(function template) |
|
|
devuelve la magnitud al cuadrado
(function template) |
|
|
construye un número complejo a partir de magnitud y ángulo de fase
(function template) |
|
|
C documentation
para
cproj
|
|