atan, atanf, atanl
Defined in header <math.h> | ||
---|---|---|
float atanf( float arg ); | (1) | (since C99) |
double atan( double arg ); | (2) | |
long double atanl( long double arg ); | (3) | (since C99) |
Defined in header <tgmath.h> | ||
#define atan( arg ) | (4) | (since C99) |
1-3) Computes the principal value of the arc tangent of
arg
.
4) Type-generic macro: If the argument has type
long double
, atanl
is called. Otherwise, if the argument has integer type or the type double
, atan
is called. Otherwise, atanf
is called. If the argument is complex, then the macro invokes the corresponding complex function (catanf
, catan
, catanl
).Parameters
arg | - | floating point value |
Return value
If no errors occur, the arc tangent ofarg
(arctan(arg)) in the range [- π |
2 |
π |
2 |
If a range error occurs due to underflow, the correct result (after rounding) is returned.
Error handling
Errors are reported as specified in math_errhandling.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
- If the argument is ±0, it is returned unmodified
- If the argument is +∞, +π/2 is returned
- If the argument is -∞, -π/2 is returned
- if the argument is NaN, NaN is returned
Notes
POSIX specifies that in case of underflow, arg
is returned unmodified, and if that is not supported, an implementation-defined value no greater than DBL_MIN, FLT_MIN, and LDBL_MIN is returned.
Example
#include <stdio.h> #include <math.h> int main(void) { printf("atan(1) = %f, 4*atan(1)=%f\n", atan(1), 4*atan(1)); // special values printf("atan(Inf) = %f, 2*atan(Inf) = %f\n", atan(INFINITY), 2*atan(INFINITY)); printf("atan(-0.0) = %+f, atan(+0.0) = %+f\n", atan(-0.0), atan(0)); }
Output:
atan(1) = 0.785398, 4*atan(1)=3.141593 atan(Inf) = 1.570796, 2*atan(Inf) = 3.141593 atan(-0.0) = -0.000000, atan(+0.0) = +0.000000
References
- C11 standard (ISO/IEC 9899:2011):
- 7.12.4.3 The atan functions (p: 238-239)
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
- F.10.1.3 The atan functions (p: 519)
- C99 standard (ISO/IEC 9899:1999):
- 7.12.4.3 The atan functions (p: 219)
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
- F.9.1.3 The atan functions (p: 456)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.5.2.3 The atan function
See also
(C99)(C99) | computes arc tangent, using signs to determine quadrants (function) |
(C99)(C99) | computes arc sine (arcsin(x)) (function) |
(C99)(C99) | computes arc cosine (arccos(x)) (function) |
(C99)(C99) | computes tangent (tan(x)) (function) |
(C99)(C99)(C99) | computes the complex arc tangent (function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/numeric/math/atan