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 ALSOacos(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