std::log,st...f,std::logl(3)
okay bestie, welcome to the std::log,st...f,std::logl(3) page from the C++ Standard Libary manual β¨ this one is all about the natural log function and its overload besties β no cap, itβs lowkey iconic.
π NAME π
std::log,std::logf,std::logl β std::log,std::logf,std::logl π«Ά
π SYNOPSIS π
bestie, hereβs the whole overload situation β yes, all of it, donβt skip, this is the main character energy of the page:
Defined in header <cmath>
float log ( float num );
double log ( double num ); (until C++23)
long double log ( long double num );
/* floating-point-type */ (since C++23)
log ( /* floating-point-type */ num ); (constexpr since C++26)
float logf( float num ); (1) (2) (since C++11)
(constexpr since C++26)
long double logl( 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 log ( Integer num );
1-3)Computes the natural (base e) logarithm ofnum. π- The library provides overloads of
std::logfor 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)π
π PARAMETERS π
numβ floating-point or integer value π«Ά
π₯ RETURN VALUE π₯
If no errors occur, the natural (base-e) logarithm of num (thatβs ln(num) or log e(num)) is returned. slay. π
If a domain error occurs, an implementation-defined value is returned (NaN where supported). π
If a pole error occurs, -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL is returned. π
π ERROR HANDLING π
Errors are reported as specified in math_errhandling.
Domain error occurs if num is less than zero.
Pole error may occur if num is zero.
If the implementation supports IEEE floating-point arithmetic (IEC 60559), hereβs the tea:
- If the argument is
Β±0,-βis returned andFE_DIVBYZEROis raised. - If the argument is
1,+0is returned. - If the argument is negative,
NaNis returned andFE_INVALIDis raised. - If the argument is
+β,+βis returned. - If the argument is
NaN,NaNis returned.
π NOTES π
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::log(num) has the same effect as std::log(static_cast<double>(num)). periodt. π
π§ͺ EXAMPLE π§ͺ
okay this is the part where you actually run it β copy-paste era:
// Run this code
#include <cerrno>
#include <cfenv>
#include <cmath>
#include <cstring>
#include <iostream>
// #pragma STDC FENV_ACCESS ON
int main()
{
std::cout << "log(1) = " << std::log(1) << '\n'
<< "base-5 logarithm of 125 = " << std::log(125) /
std::log(5) << '\n';
// special values
std::cout << "log(1) = " << std::log(1) << '\n'
<< "log(+Inf) = " << std::log(INFINITY) << '\n';
// error handling
errno = 0;
std::feclearexcept(FE_ALL_EXCEPT);
std::cout << "log(0) = " << std::log(0) << '\n';
if (errno == ERANGE)
std::cout << " errno == ERANGE: " << std::strerror(errno) <<
'\n';
if (std::fetestexcept(FE_DIVBYZERO))
std::cout << " FE_DIVBYZERO raised\n";
}
π» Possible output π»
log(1) = 0
base-5 logarithm of 125 = 3
log(1) = 0
log(+Inf) = inf
log(0) = -inf
errno == ERANGE: Numerical result out of range
FE_DIVBYZERO raised
π SEE ALSO π
log10,log10f,log10lβ computes common (base 10) logarithm;log10lislog[10](x).(C++11)(function)(C++11)log2,log2f,log2lβ base 2 logarithm of the given number;log2lislog[2](x).(C++11)(function)(C++11)(C++11)log1p,log1pf,log1plβ natural logarithm (to base e) of 1 plus the given number;log1plisln(1+x).(C++11)(function)(C++11)(C++11)exp,expf,explβ returns e raised to the given power (e^x).(function)(C++11)(C++11)log(std::complex)β complex natural logarithm with the branch cuts along the negative real axis.(function template)log(std::valarray)β applies the functionstd::logto each element ofvalarray.(function template)- C documentation for
log
π thatβs the whole page, bestie! source:http://cppreference.com, version/date:2024.06.10, page:std::log,st...f,std::logl(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