Namespaces
Variants

cpowf, cpow, cpowl

From cppreference.net
Определено в заголовочном файле <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) Вычисляет комплексную степенную функцию x y
с разрезом ветви для первого параметра вдоль отрицательной вещественной оси.
4) Макрос общего типа: Если любой аргумент имеет тип long double complex , cpowl вызывается. Если любой аргумент имеет тип double complex , cpow вызывается, если любой аргумент имеет тип float complex , cpowf вызывается. Если аргументы вещественные или целочисленные, то макрос вызывает соответствующую вещественную функцию ( powf , pow , powl ). Если любой аргумент является мнимым, вызывается соответствующая версия для комплексных чисел.

Содержание

Параметры

x, y - комплексный аргумент

Возвращаемое значение

Если ошибок не возникает, возвращается комплексная степень x y
.

Ошибки и особые случаи обрабатываются так, как если бы операция была реализована с помощью 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)
вычисляет число в заданной степени ( x y )
(функция)