csqrtf, csqrt, csqrtl
From cppreference.net
|
헤더 파일에 정의됨
<complex.h>
|
||
| (1) | (C99 이후) | |
| (2) | (C99 이후) | |
| (3) | (C99 이후) | |
|
헤더 파일에 정의됨
<tgmath.h>
|
||
|
#define sqrt( z )
|
(4) | (C99 이후) |
1-3)
음의 실수 축을 따라 가지 절단(branch cut)을 적용하여
z
의 복소수 제곱근을 계산합니다.
4)
타입-제네릭 매크로:
z
가
long
double
complex
타입을 가지면
csqrtl
이 호출됩니다.
z
가
double
complex
타입을 가지면
csqrt
이 호출됩니다.
z
가
float
complex
타입을 가지면
csqrtf
이 호출됩니다.
z
가 실수 또는 정수이면, 매크로는 해당 실수 함수(
sqrtf
,
sqrt
,
sqrtl
)를 호출합니다.
z
가 허수이면, 해당 복소수 버전이 호출됩니다.
목차 |
매개변수
| z | - | 복소 인수 |
반환값
오류가 발생하지 않으면, 우반평면(실수 축 상에서는
[0; +∞)
, 허수 축 상에서는
(−∞; +∞)
범위를 포함)에서
z
의 제곱근을 반환합니다.
오류 처리 및 특수 값
오류는 math_errhandling 과 일관되게 보고됩니다
구현이 IEEE 부동 소수점 연산을 지원하는 경우,
- 함수는 허수부의 부호를 고려하여 브랜치 컷(branch cut) 위에서 연속적입니다.
- csqrt ( conj ( z ) ) == conj ( csqrt ( z ) )
-
만약
z가±0+0i이면, 결과는+0+0i입니다. -
만약
z가x+∞i이면, x가 NaN인 경우에도 결과는+∞+∞i입니다. -
만약
z가x+NaNi이면, 결과는NaN+NaNi입니다 (x가 ±∞가 아닌 경우). 그리고 FE_INVALID 가 발생할 수 있습니다. -
만약
z가-∞+yi이면, 유한한 양의 y에 대해 결과는+0+∞i입니다. -
만약
z가+∞+yi이면, 유한한 양의 y에 대해 결과는+∞+0i)입니다. -
만약
z가-∞+NaNi이면, 결과는NaN±∞i입니다 (허수부의 부호는 명시되지 않음). -
만약
z가+∞+NaNi이면, 결과는+∞+NaNi입니다. -
만약
z가NaN+yi이면, 결과는NaN+NaNi이고 FE_INVALID 가 발생할 수 있습니다. -
만약
z가NaN+NaNi이면, 결과는NaN+NaNi입니다.
예제
이 코드 실행
#include <stdio.h> #include <complex.h> int main(void) { double complex z1 = csqrt(-4); printf("Square root of -4 is %.1f%+.1fi\n", creal(z1), cimag(z1)); double complex z2 = csqrt(conj(-4)); // or, in C11, CMPLX(-4, -0.0) printf("Square root of -4-0i, the other side of the cut, is " "%.1f%+.1fi\n", creal(z2), cimag(z2)); }
출력:
Square root of -4 is 0.0+2.0i Square root of -4-0i, the other side of the cut, is 0.0-2.0i
참고문헌
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.3.8.3 The csqrt functions (p: 196)
-
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
-
- G.6.4.2 The csqrt functions (p: 544)
-
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.3.8.3 The csqrt functions (p: 178)
-
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
-
- G.6.4.2 The csqrt functions (p: 479)
-
- G.7 Type-generic math <tgmath.h> (p: 480)
참고 항목
|
(C99)
(C99)
(C99)
|
복소수 거듭제곱 함수를 계산함
(함수) |
|
(C99)
(C99)
|
제곱근을 계산함 (
√
x
)
(함수) |
|
C++ 문서
for
sqrt
|
|