std::atan,s...f,std::atanl(3)
π¦ C++ Standard Libary Β· std::atan,s...f,std::atanl(3) π¦
π NAME π
std::atan,std::atanf,std::atanl β std::atan,std::atanf,std::atanl π
okay so bestie, that's literally the whole name. no notes.
β¨ Synopsis β¨
these cuties live in <cmath> and they are arc-tangent royalty fr fr. the overload situation is giving βwe have rangeβ energy:
Defined in header <cmath>
float atan ( float num );
double atan ( double num ); (until C++23)
long double atan ( long double num );
/* floating-point-type */ (since C++23)
atan ( /* floating-point-type */ num );
(constexpr since C++26)
float atanf( float num ); (1) (2) (since C++11)
(constexpr since C++26)
long double atanl( long double num ); (3) (since C++11)
(constexpr since C++26)
Additional overloads (since C++11)
Defined in header <cmath>
template< class Integer > (A)
(constexpr since C++26)
double atan ( Integer num );
1-3)Computes the principal value of the arc tangent ofnum.- The library provides overloads of
std::atanfor all cv-unqualified floating-point types as the type of the parameter. (since C++23) A)Additional overloads are provided for all integer types, which are treated asdouble. (since C++11)
also notice the constexpr since C++26 glow-ups in the synopsis β she's evolving, periodt β¨
πΈ Parameters πΈ
numβ floating-point or integer value
π Return value π
If no errors occur, the arc tangent of num (arctan(num)) in the range [-Ο/2, +Ο/2] radians, is returned.
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), then bestie, here's the vibe check:
- If the argument is
Β±0, it is returned unmodified. - If the argument is
+β,+Ο/2is returned. - If the argument is
-β,-Ο/2is returned. - If the argument is
NaN,NaNis returned.
π«Ά Notes π«Ά
POSIX specifies that in case of underflow, num 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.
The additional overloads are not required to be provided exactly as (A). They only need to be sufficient to ensure that for their argument num of integer type, std::atan(num) has the same effect as std::atan(static_cast<double>(num)).
π§ Example π§
run this and watch the special values do their little main character thing π
// Run this code
#include <cmath>
#include <iostream>
int main()
{
std::cout << "atan(1) = " << std::atan(1) << '\n'
<< "4*atan(1) = " << 4 * std::atan(1) << '\n';
// special values
std::cout << "atan(Inf) = " << std::atan(INFINITY) << '\n'
<< "2*atan(Inf) = " << 2 * std::atan(INFINITY) << '\n'
<< "atan(-0.0) = " << std::atan(-0.0) << '\n'
<< "atan(+0.0) = " << std::atan(0) << '\n';
}
Output:
atan(1) = 0.785398
4*atan(1) = 3.14159
atan(Inf) = 1.5708
2*atan(Inf) = 3.14159
atan(-0.0) = -0
atan(+0.0) = 0
π See also π
asin,asinf,asinlβ computes arc sine (arcsin(x)) (function) (C++11) (C++11)acos,acosf,acoslβ computes arc cosine (arccos(x)) (function) (C++11) (C++11)atan2,atan2f,atan2lβ arc tangent, using signs to determine quadrants (function) (C++11) (C++11)tan,tanf,tanlβ computes tangent (tan(x)) (function) (C++11) (C++11)atan(std::complex)β computes arc tangent of a complex number (arctan(z)) (C++11) (function template)atan(std::valarray)β applies the functionstd::atanto each element ofvalarray(function template)- C documentation for
atan
that's the whole vibe π source: http://cppreference.com, version/date: 2024.06.10, page: std::atan,s...f,std::atanl(3). mwah π
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms