atan2(3) BSD Library Functions Manual atan2(3)
NAME
atan2 -- arc tangent function of two variables
SYNOPSIS
#include <math.h> double atan2(double y, double x); long double atan2l(long double y, long double x); float atan2f(float y, float x);
DESCRIPTION
The atan2() function computes the principal value of the arc tangent of y/x, using the signs of both arguments to determine the quadrant of the return value.
SPECIAL VALUES
atan2(+-0, -0) returns +-pi. atan2(+-0, +0) returns +-0. atan2(+-0, x) returns +-pi for x < 0. atan2(+-0, x) returns +-0 for x > 0. atan2(y, +-0) returns +pi/2 for y > 0. atan2(y, +-0) returns -pi/2 for y < 0. atan2(+-y, -infinity) returns +-pi for finite y > 0. atan2(+-y, +infinity) returns +-0 for finite y > 0. atan2(+-infinity, x) returns +-pi/2 for finite x. atan2(+-infinity, -infinity) returns +-3*pi/4. atan2(+-infinity, +infinity) returns +-pi/4.
NOTES
The atan2() function is used mostly to convert from rectangular (x,y) to polar (r,theta) coordinates that must satisfy x = r*cos theta and y = r*sin theta. In general, conversions to polar coordinates should be com- puted thus: r := hypot(x,y); ... := sqrt(x*x+y*y) theta := atan2(y,x).
VECTOR OPERATIONS
If you need to apply the atan2() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may give significantly better performance: #include <Accelerate/Accelerate.h> vFloat atan2f(vFloat y, vFloat x); void vvatan2f(float *z, const float *y, const float *x, const int *n); void vvatan2(double *z, const double *y, const double *x, const int *n);
SEE ALSO
acos(3), asin(3), atan(3), cos(3), cosh(3), sin(3), sinh(3), tan(3), tanh(3), math(3),
STANDARDS
The atan2() function conforms to ISO/IEC 9899:2011. BSD December 11, 2006 BSD
Mac OS X 10.9.1 - Generated Mon Jan 6 19:05:15 CST 2014