<complex>
C++ 헤더를 사용 중이고 복소수의 위상 각을 반환하는 std::arg
함수의 범위를 알아야합니다. 즉, [-pi, pi], [0, 2 * pi] 또는 다른 것입니까? 표준의 범위에 대한 보증이 있습니까?std :: arg() 함수의 범위는 무엇입니까?
AFAICT, std::arg
기본적으로는 atan2
을 감싸며, 이는 범위가 [-pi, pi]임을 보장합니다. C++의 모든 호환 구현에 해당됩니까?
<complex>
C++ 헤더를 사용 중이고 복소수의 위상 각을 반환하는 std::arg
함수의 범위를 알아야합니다. 즉, [-pi, pi], [0, 2 * pi] 또는 다른 것입니까? 표준의 범위에 대한 보증이 있습니까?std :: arg() 함수의 범위는 무엇입니까?
AFAICT, std::arg
기본적으로는 atan2
을 감싸며, 이는 범위가 [-pi, pi]임을 보장합니다. C++의 모든 호환 구현에 해당됩니까?
std::arg()
의 사양 정말 많은 세부 사항을 제공하지 않는다 (26.4.7 [complex.value.ops] 제 4 항)
template<class T> T arg(const complex<T>& x);
결과 :
x
또는atan2(imag(x), real(x))
의 위상 각도.
atan2()
의 정의가 제 4 항에 지정 C 표준 (7.12.4.4)이다 :
atan2
기능은 [-π, + π 라디안 간격에서 아크 탄젠트y/x
반환. Y/X는 구간 [-pi, + PI 라디안의 http://www.cplusplus.com/reference/cmath/atan2/반환 값 주 아크 탄젠트 : 가입일
.
std:arg()
은 atan2
응답을 제공하는 것으로 가정하면 준수하는 시스템에서 원하는 것을 얻을 수 있습니다.
감사합니다. 나는주의 깊게 밟아서 어떤 가정도하지 않을 것이라고 생각합니다. –