acos#
Synopsis#
#include <math.h>
double acos(double x);
float acosf(float x);
long double acosl(long double x);
Status#
Partially implemented
Conformance#
IEEE Std 1003.1-2017
Description#
These functions shall compute the principal value of the arc cosine of their argument x. The value of x should
be in the range [-1,1]
.
An application wishing to check for error situations should set errno
to zero and call feclearexcept(FE_ALL_EXCEPT)
before calling these functions. On return, if errno
is non-zero or
fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW)
is non-zero, an error has occurred.
Return value#
Upon successful completion, these functions shall return the arc cosine of x, in the range [0, pi]
radians.
For finite values of x not in the range [-1,1]
, a domain error shall occur, and either a NaN
(if supported) or
an implementation-defined value shall be returned.
If x is
NaN
, aNaN
shall be returned.If x is
+1
,+0
shall be returned.If x is
±Inf
, a domain error shall occur, and aNaN
shall be returned.
Errors#
These functions shall fail if:
Domain Error
The x argument is finite and is not in the range [-1,1]
, or is ±Inf
.
If the integer expression (math_errhandling & MATH_ERRNO)
is non-zero, then errno
shall be set to EDOM
. If
the integer expression (math_errhandling & MATH_ERREXCEPT)
is non-zero, then the invalid floating-point
exception shall be raised.
Tests#
Untested
Known bugs#
None