man pages section 3: Extended Library Functions

## atan2(3M)

#### NAME

atan2– arc tangent function

#### SYNOPSIS

```cc [ flag ... ] file ... -lm [ library ... ]
#include <math.h>```

double atan2(double y, double 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.

#### RETURN VALUES

Upon successful completion, atan2() returns the arc tangent of y/x in the range [-pi,pi] radians. If both arguments are 0.0, 0.0 is returned and errno may be set to EDOM.

If x or y is NaN, NaN is returned.

In IEEE 754 mode atan2() handles the following exceptional arguments in the spirit of ANSI/IEEE Std 754-1985.

• atan2(±0, x) returns ±0 for x > 0 or x = +0;
• atan2(±0, x) returns ±pi for x < 0 or x = -0;
• atan2(y, ±0) returns pi/2 for y > 0;
• atan2(y, ±0) returns -pi/2 for y < 0;
• atan2(±y, Inf) returns ±0 for finite y > 0;
• atan2(±Inf, x) returns ±pi/2 for finite x;
• atan2(±y, -Inf) returns ±pi for finite y > 0;
• atan2(±Inf, Inf) returns ±pi/4;
• atan2(±Inf, -Inf) returns ±3pi/4.

For exceptional cases, matherr(3M) tabulates the values to be returned as dictated by Standards other than XPG4.

#### ERRORS

The atan2() function may fail if:

EDOM

Both arguments are 0.0.

#### USAGE

An application wishing to check for error situations should set errno to 0 before calling atan2(). If errno is non-zero on return, or the return value is NaN, an error has occurred.

#### ATTRIBUTES

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

ATTRIBUTE TYPEATTRIBUTE VALUE
MT-Level MT-Safe