asin, asinf, asinl

Calculates the arcsine.

Syntax

double asin( double x );
float asinf ( float x );
long double asinl( long double x );
#define asin(X) // Requires C11 or higher

float asin( float x );  // C++ only
long double asin( long double x );  // C++ only

Parameters

x
Value whose arcsine is to be calculated.

Return value

The asin function returns the arcsine (the inverse sine function) of x in the range -π/2 to π/2 radians.

By default, if x is less than -1 or greater than 1, asin returns an indefinite.

Input SEH exception _matherr exception
± INF INVALID _DOMAIN
± QNaN, IND none _DOMAIN
|x| > 1 INVALID _DOMAIN

Remarks

Because C++ allows overloading, you can call overloads of asin with float and long double values. In a C program, unless you're using the <tgmath.h> macro to call this function, asin always takes and returns a double.

If you use the asin macro from <tgmath.h>, the type of the argument determines which version of the function is selected. See Type-generic math for details.

By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.

Requirements

Routine Required header (C) Required header (C++)
asin, asinf, asinl <math.h> <cmath> or <math.h>
asin macro <tgmath.h>

Example

For more information, see acos, acosf, acosl.

See also

Math and floating-point support
acos, acosf, acosl
atan, atanf, atanl, atan2, atan2f, atan2l
cos, cosf, cosl
_matherr
sin, sinf, sinl
tan, tanf, tanl