std:: proj (std::complex)
|
Определено в заголовке
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > proj ( const std:: complex < T > & z ) ; |
(1) | (начиная с C++11) |
|
Дополнительные перегрузки
(начиная с C++11)
|
||
|
Определено в заголовке
<complex>
|
||
| (A) | ||
|
std::
complex
<
float
>
proj
(
float
f
)
;
std::
complex
<
double
>
proj
(
double
f
)
;
|
(до C++23) | |
|
template
<
class
FloatingPoint
>
std:: complex < FloatingPoint > proj ( FloatingPoint f ) ; |
(начиная с C++23) | |
|
template
<
class
Integer
>
std:: complex < double > proj ( Integer i ) ; |
(B) | |
Содержание |
Параметры
| z | - | комплексное значение |
| f | - | значение с плавающей запятой |
| i | - | целочисленное значение |
Возвращаемое значение
Примечания
Функция proj помогает моделировать сферу Римана, отображая все бесконечности в одну (с учетом знака мнимого нуля), и должна использоваться непосредственно перед любой операцией, особенно сравнениями, которая может давать ложные результаты для любой из других бесконечностей.
Дополнительные перегрузки не обязаны быть предоставлены точно в виде (A,B) . Они должны быть достаточными только для обеспечения того, чтобы для их аргумента num :
-
Если
num
имеет
стандартный
(до C++23)
тип с плавающей точкой
T, то std :: proj ( num ) имеет тот же эффект, что и std :: proj ( std:: complex < T > ( num ) ) . - В противном случае, если num имеет целочисленный тип, то std :: proj ( num ) имеет тот же эффект, что и std :: proj ( std:: complex < double > ( num ) ) .
Пример
#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'; }
Вывод:
proj(1,2) = (1,2) proj(inf,-1) = (inf,-0) proj(0,-inf) = (inf,-0)
Смотрите также
|
возвращает модуль комплексного числа
(шаблон функции) |
|
|
возвращает квадрат модуля
(шаблон функции) |
|
|
создаёт комплексное число из модуля и фазового угла
(шаблон функции) |
|
|
Документация C
для
cproj
|
|