atan, atanf, atanl - arc tangent function
#include <math.h>
double atan(doublex);
float atanf(floatx);
long double atanl(long doublex);
[CX]The functionality described on this reference page is aligned with the ISO C standard. Any conflict between therequirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO Cstandard.
These functions shall compute the principal value of the arc tangent of their argumentx.
An application wishing to check for error situations should seterrno to zero and callfeclearexcept(FE_ALL_EXCEPT) before calling these functions. On return, iferrno is non-zero orfetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an error has occurred.
Upon successful completion, these functions shall return the arc tangent ofx in the range [-
/2,
/2] radians.
[MX]
Ifx is NaN, a NaN shall be returned.
Ifx is ±0,x shall be returned.
Ifx is ±Inf, ±
/2 shall be returned.
Ifx is subnormal, a range error may occur
[MXX]
andx should be returned.
[MX]
Ifx is not returned,atan(),atanf(), andatanl() shall return an implementation-defined value no greaterin magnitude than DBL_MIN, FLT_MIN, and LDBL_MIN, respectively.
These functions may fail if:
- Range Error
- [MX]
The value ofx is subnormal.
If the integer expression (math_errhandling & MATH_ERRNO) is non-zero, thenerrno shall be set to [ERANGE]. Ifthe integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the underflow floating-point exceptionshall be raised.
None.
On error, the expressions (math_errhandling & MATH_ERRNO) and (math_errhandling & MATH_ERREXCEPT) areindependent of each other, but at least one of them must be non-zero.
None.
None.
atan2,feclearexcept,fetestexcept,isnan,tan
XBDTreatment of Error Conditions for Mathematical Functions,<math.h>
First released in Issue 1. Derived from Issue 1 of the SVID.
The DESCRIPTION is updated to indicate how an application should check for an error. This text was previously published in theAPPLICATION USAGE section.
Theatanf() andatanl() functions are added for alignment with the ISO/IEC 9899:1999 standard.
The DESCRIPTION, RETURN VALUE, ERRORS, and APPLICATION USAGE sections are revised to align with the ISO/IEC 9899:1999standard.
IEC 60559:1989 standard floating-point extensions over the ISO/IEC 9899:1999 standard are marked.
POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0037 [68] is applied.
return to top of page