std:: pow (std::complex)
|
헤더 파일에 정의됨
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, int y ) ; |
(1) | (C++11 이전) |
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, const std:: complex < T > & y ) ; |
(2) | |
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, const T & y ) ; |
(3) | |
|
template
<
class
T
>
std:: complex < T > pow ( const T & x, const std:: complex < T > & y ) ; |
(4) | |
|
추가 오버로드
(C++11 이후)
|
||
|
헤더 파일에 정의됨
<complex>
|
||
| (A) | ||
|
template
<
class
T1,
class
T2
>
std::
complex
<
/* 공통 타입 */
>
|
(C++23 이전) | |
|
template
<
class
T1,
class
T2
>
std::
complex
<
std::
common_type_t
<
T1, T2
>>
|
(C++23 이후) | |
| (B) | ||
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
/* 공통-타입 */
>
|
(C++23 이전) | |
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
std::
common_type_t
<
T, NonComplex
>>
|
(C++23 이후) | |
| (C) | ||
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
/* common-type */
>
|
(C++23 이전) | |
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
std::
common_type_t
<
T, NonComplex
>>
|
(C++23 이후) | |
| (since C++11) |
목차 |
매개변수
| x | - | 밑수 |
| y | - | 지수 |
반환값
이 반환됩니다.
참고 사항
오버로드 (1) 는 C++98에서 std::pow 의 추가 오버로드 (2) 와 일치시키기 위해 제공되었습니다. 해당 오버로드들은 LWG 이슈 550 의 해결에 의해 제거되었으며, 오버로드 (1) 는 LWG 이슈 844 의 해결에 의해 제거되었습니다.
추가 오버로드는 반드시 (A-C) 와 정확히 동일하게 제공될 필요는 없습니다. 이들은 첫 번째 인수 base 와 두 번째 인수 exponent 에 대해 다음을 보장하기에 충분하기만 하면 됩니다:
|
base 및/또는 exponent 가 std:: complex < T > 타입을 가지는 경우:
|
(C++23 이전) |
|
한 인자가
std::
complex
<
T1
>
타입을 가지고 다른 인자가
만약 std:: common_type_t < T1, T2 > 이 올바르게 형성되지 않으면, 프로그램은 ill-formed입니다. |
(C++23부터) |
예제
#include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z(1.0, 2.0); std::cout << "(1,2)^2 = " << std::pow(z, 2) << '\n'; std::complex<double> z2(-1.0, 0.0); // -1의 제곱근 std::cout << "-1^0.5 = " << std::pow(z2, 0.5) << '\n'; std::complex<double> z3(-1.0, -0.0); // 절단의 다른 쪽 std::cout << "(-1,-0)^0.5 = " << std::pow(z3, 0.5) << '\n'; std::complex<double> i(0.0, 1.0); // i^i = exp(-pi / 2) std::cout << "i^i = " << std::pow(i, i) << '\n'; }
출력:
(1,2)^2 = (-3.000000,4.000000) -1^0.5 = (0.000000,1.000000) (-1,-0)^0.5 = (0.000000,-1.000000) i^i = (0.207880,0.000000)
참고 항목
|
우측 반평면 범위에서의 복소수 제곱근
(함수 템플릿) |
|
|
(C++11)
(C++11)
|
주어진 거듭제곱으로 수를 올림 (
x
y
)
(함수) |
|
함수
std::pow
을 두 valarray에 또는 valarray와 값에 적용
(함수 템플릿) |
|
|
C 문서
for
cpow
|
|