Next: , Previous: Trig Functions, Up: Mathematics

### 19.3 Inverse Trigonometric Functions

These are the usual arc sine, arc cosine and arc tangent functions, which are the inverses of the sine, cosine and tangent functions respectively.

— Function: double asin (double x)
— Function: float asinf (float x)
— Function: long double asinl (long double x)

These functions compute the arc sine of x—that is, the value whose sine is x. The value is in units of radians. Mathematically, there are infinitely many such values; the one actually returned is the one between `-pi/2` and `pi/2` (inclusive).

The arc sine function is defined mathematically only over the domain `-1` to `1`. If x is outside the domain, `asin` signals a domain error.

— Function: double acos (double x)
— Function: float acosf (float x)
— Function: long double acosl (long double x)

These functions compute the arc cosine of x—that is, the value whose cosine is x. The value is in units of radians. Mathematically, there are infinitely many such values; the one actually returned is the one between `0` and `pi` (inclusive).

The arc cosine function is defined mathematically only over the domain `-1` to `1`. If x is outside the domain, `acos` signals a domain error.

— Function: double atan (double x)
— Function: float atanf (float x)
— Function: long double atanl (long double x)

These functions compute the arc tangent of x—that is, the value whose tangent is x. The value is in units of radians. Mathematically, there are infinitely many such values; the one actually returned is the one between `-pi/2` and `pi/2` (inclusive).

— Function: double atan2 (double y, double x)
— Function: float atan2f (float y, float x)
— Function: long double atan2l (long double y, long double x)

This function computes the arc tangent of y/x, but the signs of both arguments are used to determine the quadrant of the result, and x is permitted to be zero. The return value is given in radians and is in the range `-pi` to `pi`, inclusive.

If x and y are coordinates of a point in the plane, `atan2` returns the signed angle between the line from the origin to that point and the x-axis. Thus, `atan2` is useful for converting Cartesian coordinates to polar coordinates. (To compute the radial coordinate, use `hypot`; see Exponents and Logarithms.)

If both x and y are zero, `atan2` returns zero.

ISO C99 defines complex versions of the inverse trig functions.

— Function: complex double casin (complex double z)
— Function: complex float casinf (complex float z)
— Function: complex long double casinl (complex long double z)

These functions compute the complex arc sine of z—that is, the value whose sine is z. The value returned is in radians.

Unlike the real-valued functions, `casin` is defined for all values of z.

— Function: complex double cacos (complex double z)
— Function: complex float cacosf (complex float z)
— Function: complex long double cacosl (complex long double z)

These functions compute the complex arc cosine of z—that is, the value whose cosine is z. The value returned is in radians.

Unlike the real-valued functions, `cacos` is defined for all values of z.

— Function: complex double catan (complex double z)
— Function: complex float catanf (complex float z)
— Function: complex long double catanl (complex long double z)

These functions compute the complex arc tangent of z—that is, the value whose tangent is z. The value is in units of radians.