Documentation Archive Developer
Search
ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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 computed
     puted thus:

           r    := hypot(x,y);  ... := sqrt(x*x+y*y)
           theta     := atan2(y,x).

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:1999(E).

BSD                            November 18, 2002                           BSD