Next: , Previous: , Up: Mathematics   [Contents][Index]

### 19.3 Inverse Trigonometric Functions

These are the usual arcsine, arccosine and arctangent 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)
Function: _FloatN asinfN (_FloatN x)
Function: _FloatNx asinfNx (_FloatNx x)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

These functions compute the arcsine 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 arcsine 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)
Function: _FloatN acosfN (_FloatN x)
Function: _FloatNx acosfNx (_FloatNx x)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

These functions compute the arccosine 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 arccosine 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)
Function: _FloatN atanfN (_FloatN x)
Function: _FloatNx atanfNx (_FloatNx x)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

These functions compute the arctangent 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)
Function: _FloatN atan2fN (_FloatN y, _FloatN x)
Function: _FloatNx atan2fNx (_FloatNx y, _FloatNx x)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

This function computes the arctangent 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 Exponentiation 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)
Function: complex _FloatN casinfN (complex _FloatN z)
Function: complex _FloatNx casinfNx (complex _FloatNx z)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

These functions compute the complex arcsine 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)
Function: complex _FloatN cacosfN (complex _FloatN z)
Function: complex _FloatNx cacosfNx (complex _FloatNx z)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

These functions compute the complex arccosine 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)
Function: complex _FloatN catanfN (complex _FloatN z)
Function: complex _FloatNx catanfNx (complex _FloatNx z)

Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

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

Next: Exponentiation and Logarithms, Previous: Trigonometric Functions, Up: Mathematics   [Contents][Index]