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) |
arg
.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
).arg | - | floating point value |
arg
(arctan(arg)) in the range [- π/2 ; +π/2] radians, is returned. If a range error occurs due to underflow, the correct result (after rounding) is returned.
Errors are reported as specified in math_errhandling.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
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.
#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
(C99)(C99) | computes arc tangent, using signs to determine quadrants (function) |
(C99)(C99) | computes arc sine (\({\small\arcsin{x} }\)arcsin(x)) (function) |
(C99)(C99) | computes arc cosine (\({\small\arccos{x} }\)arccos(x)) (function) |
(C99)(C99) | computes tangent (\({\small\tan{x} }\)tan(x)) (function) |
(C99)(C99)(C99) | computes the complex arc tangent (function) |
C++ documentation for atan |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/math/atan