cpowf, cpow, cpowl
Определено в заголовочном файле <complex.h> |
||
|---|---|---|
float complex cpowf( float complex x, float complex y ); |
(1) | (с C99) |
double complex cpow( double complex x, double complex y ); |
(2) | (с C99) |
long double complex cpowl( long double complex x, long double complex y ); |
(3) | (с C99) |
Определено в заголовочном файле <tgmath.h> |
||
#define pow( x, y ) |
(4) | (с C99) |
1-3) Вычисляет комплексную функцию степени xy, с разрывом ветви для первого параметра вдоль отрицательной вещественной оси.
4) Универсальная макро-функция: если любой аргумент имеет тип
long double complex, вызывается cpowl, если любой аргумент имеет тип double complex, вызывается cpow, если любой аргумент имеет тип float complex, вызывается cpowf. Если аргументы являются вещественными или целыми числами, то вызывается соответствующая вещественная функция (powf, pow, powl). Если какой-либо аргумент является мнимым, вызывается соответствующая комплексная версия.Параметры
| x, y | - | комплексный аргумент |
Значение результата
Если ошибок не происходит, возвращается комплексное число xy.
Ошибки и особые случаи обрабатываются так, как будто операция реализуется cexp(y*clog(x)), за исключением того, что реализация может более тщательно обработать особые случаи.
Пример
#include <stdio.h>
#include <complex.h>
int main(void)
{
double complex z = cpow(1.0+2.0*I, 2);
printf("(1+2i)^2 = %.1f%+.1fi\n", creal(z), cimag(z));
double complex z2 = cpow(-1, 0.5);
printf("(-1+0i)^0.5 = %.1f%+.1fi\n", creal(z2), cimag(z2));
double complex z3 = cpow(conj(-1), 0.5); // other side of the cut
printf("(-1-0i)^0.5 = %.1f%+.1fi\n", creal(z3), cimag(z3));
double complex z4 = cpow(I, I); // i^i = exp(-pi/2)
printf("i^i = %f%+fi\n", creal(z4), cimag(z4));
}Вывод:
(1+2i)^2 = -3.0+4.0i (-1+0i)^0.5 = 0.0+1.0i (-1-0i)^0.5 = 0.0-1.0i i^i = 0.207880+0.000000i
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.3.8.2 Функции cpow (с. 195-196)
- 7.25 Универсальная математика <tgmath.h> (с. 373-375)
- G.6.4.1 Функции cpow (с. 544)
- G.7 Универсальная математика <tgmath.h> (с. 545)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.3.8.2 Функции cpow (с. 177)
- 7.22 Универсальная математика <tgmath.h> (с. 335-337)
- G.6.4.1 Функции cpow (с. 479)
- G.7 Универсальная математика <tgmath.h> (с. 480)
См. также
|
(C99)(C99)(C99) |
вычисляет комплекный квадратный корень (функция) |
|
(C99)(C99) |
вычисляет число, возведённое в заданную степень (\(\small{x^y}\)xy) (функция) |
Документация C++ для pow |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/cpow