#include <math.h> double atan2(double y, double x); float atan2f(float y, float x); long double atan2l(long double y, long double x);
-lm でリンクする。
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
atan2f(), atan2l():
y が +0 (-0) で x が 0 未満の場合、+pi (-pi) が返される。
y が +0 (-0) で x が 0 より大きい場合、+0 (-0) が返される。
y が 0 未満で x が +0 か -0 の場合、-pi/2 が返される。
y が 0 より大きく x が +0 か -0 の場合、pi/2 が返される。
x か y のいずかが NaN の場合、NaN が返される。
y が +0 (-0) で x が -0 の場合、+pi (-pi) が返される。
y が +0 (-0) で x が +0 の場合、+0 (-0) が返される。
y が 0 より大きい (小さい) 有限値で x が負の無限大の場合、+pi (-pi) が返される。
y が 0 より大きい (小さい) 有限値で x が正の無限大の場合、+0 (-0) が返される。
y が正の無限大 (負の無限大) で x が有限値の場合、pi/2 (-pi/2) が返される。
y が正の無限大 (負の無限大) で x が負の無限大の場合、+3*pi/4 (-3*pi/4) が返される。
y が正の無限大 (負の無限大) で x が正の無限大の場合、+pi/4 (-pi/4) が返される。
インターフェース | 属性 | 値 |
atan2(), atan2f(), atan2l() | Thread safety | MT-Safe |
double 版の関数は SVr4, 4.3BSD, C89 にも準拠している。