CMPLXF, CMPLX, CMPLXL
|
Определено в заголовочном файле
<complex.h>
|
||
|
float
complex
CMPLXF
(
float
real,
float
imag
)
;
|
(начиная с C11) | |
|
double
complex
CMPLX
(
double
real,
double
imag
)
;
|
(начиная с C11) | |
|
long
double
complex
CMPLXL
(
long
double
real,
long
double
imag
)
;
|
(начиная с C11) | |
Каждый из этих макросов раскрывается в выражение, которое вычисляется в значение указанного комплексного типа, при этом действительная часть имеет значение
real
(преобразованное в указанный тип аргумента), а мнимая часть имеет значение
imag
(преобразованное в указанный тип аргумента)
Выражения подходят для использования в качестве инициализаторов для объектов со статической или поточной длительностью хранения, при условии, что выражения
real
и
imag
также подходят.
Содержание |
Параметры
| real | - | действительная часть возвращаемого комплексного числа |
| imag | - | мнимая часть возвращаемого комплексного числа |
Возвращаемое значение
Комплексное число, состоящее из
real
и
imag
как действительной и мнимой частей.
Примечания
Эти макросы реализованы так, как если бы мнимые типы поддерживались (даже если они в остальном не поддерживаются и _Imaginary_I фактически не определён) и как если бы они были определены следующим образом:
#define CMPLX(x, y) ((double complex)((double)(x) + _Imaginary_I * (double)(y))) #define CMPLXF(x, y) ((float complex)((float)(x) + _Imaginary_I * (float)(y))) #define CMPLXL(x, y) ((long double complex)((long double)(x) + \ _Imaginary_I * (long double)(y)))
Пример
Вывод:
z = 0.0-0.0i
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.3.9.3 Макросы CMPLX (стр: 197)
Смотрите также
|
(C99)
|
константа мнимой единицы i
(макрос-константа) |
|
C++ documentation
для
complex
|
|