man pages section 3: Extended Library Functions, Volume 2
Updated: July 2014

## atan2f(3M)

### Name

atan2, atan2f, atan2l - arc tangent function

### Synopsis

```c99 [ flag... ] file... –lm [ library... ]
#include <math.h>

double atan2(double y, double x);```
`float atan2f(float y, float x);`
`long double atan2l(long double y, long double x);`

### Description

These functions compute the principal value of the arc tangent of y/x, using the signs of both arguments to determine the quadrant of the return value.

### Return Values

Upon successful completion, these functions return the arc tangent of y/x in the range [ −??,?? ] radians.

If y is ±0 and x is < 0, ±?? is returned.

If y is ±0 and x is > 0, ±0 is returned.

If y is < 0 and x is ±0, −??/2 is returned.

If y is > 0 and x is ±0, ??/2 is returned.

If x is 0, a pole error does not occur.

If either x or y is NaN, a NaN is returned.

If y is ±0 and x is –0, ±?? is returned.

If y is ±0 and x is +0, ±0 is returned.

For finite values of ±y > 0, if x is −Inf, ±?? is returned.

For finite values of ±y > 0, if x is +Inf, ±0 is returned.

For finite values of x, if y is ±Inf, ±??/2 is returned.

If y is ±Inf and x is −Inf, ±3??/4 is returned.

If y is ±Inf and x is +Inf, ±??/4 is returned.

If both arguments are 0, a domain error does not occur.

### Errors

No errors are defined.

### Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard