cpowf, cpow, cpowl
From cppreference.net
|
헤더 파일에 정의됨
<complex.h>
|
||
| (1) | (C99 이후) | |
| (2) | (C99 이후) | |
| (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); // 절단의 다른 쪽 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 The cpow functions (p: 195-196)
-
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
-
- G.6.4.1 The cpow functions (p: 544)
-
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.3.8.2 The cpow functions (p: 177)
-
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
-
- G.6.4.1 The cpow functions (p: 479)
-
- G.7 Type-generic math <tgmath.h> (p: 480)
참고 항목
|
(C99)
(C99)
(C99)
|
복소수 제곱근을 계산함
(함수) |
|
(C99)
(C99)
|
주어진 거듭제곱으로 올린 숫자를 계산함 (
x
y
)
(함수) |
|
C++ 문서
for
pow
|
|