Common mathematical functions
From cppreference.com
                    
                                        
                    
                    
                                                            
                    Contents | 
[edit] Functions
|   Defined in header  
<cstdlib>  | |
|    (C++11)  | 
  computes absolute value of an integral value (|x|)  (function)  | 
|    (C++11)  | 
  computes quotient and remainder of integer division  (function)  | 
|   Defined in header  
<cinttypes>  | |
|    (C++11)(C++11)  | 
  computes absolute value of an integral value (|x|)  (function)  | 
|    (C++11)(C++11)  | 
  computes quotient and remainder of integer division  (function)  | 
|   Defined in header  
<cmath>  | |
 Basic operations | |
|    (C++11)(C++11)  | 
  absolute value of a floating point value (|x|)  (function)  | 
|    (C++11)(C++11)  | 
  remainder of the floating point division operation  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  signed remainder of the division operation  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  signed remainder as well as the three last bits of the division operation  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  fused multiply-add operation  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  larger of two floating-point values  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  smaller of two floating point values  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  positive difference of two floating point values (max(0, x-y))  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  not-a-number (NaN)  (function)  | 
 Exponential functions | |
|    (C++11)(C++11)  | 
  returns e raised to the given power (ex)  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  returns 2 raised to the given power (2x)  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  returns e raised to the given power, minus 1 (ex-1)  (function)  | 
|    (C++11)(C++11)  | 
  computes natural (base e) logarithm (ln(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes common (base 10) logarithm (log10(x))  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  base 2 logarithm of the given number (log2(x))  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  natural logarithm (to base e) of 1 plus the given number (ln(1+x))  (function)  | 
 Power functions | |
|    (C++11)(C++11)  | 
  raises a number to the given power (xy)  (function)  | 
|    (C++11)(C++11)  | 
  computes square root (√x)  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  computes cube root (3√x)  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  computes hypotenuse √x2 +y2 and √x2 +y2 +z2 (since C++17) (function)  | 
 Trigonometric functions | |
|    (C++11)(C++11)  | 
  computes sine (sin(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes cosine (cos(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes tangent (tan(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes arc sine (arcsin(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes arc cosine (arccos(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes arc tangent (arctan(x))  (function)  | 
|    (C++11)(C++11)  | 
  arc tangent, using signs to determine quadrants  (function)  | 
 Hyperbolic functions | |
|    (C++11)(C++11)  | 
  computes hyperbolic sine (sinh(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes hyperbolic cosine (cosh(x))  (function)  | 
|    (C++11)(C++11)  | 
  computes hyperbolic tangent (tanh(x))  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  computes the inverse hyperbolic sine (arsinh(x))  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  computes the inverse hyperbolic cosine (arcosh(x))  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  computes the inverse hyperbolic tangent (artanh(x))  (function)  | 
 Error and gamma functions | |
|    (C++11)(C++11)(C++11)  | 
  error function  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  complementary error function  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  gamma function  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  natural logarithm of the gamma function  (function)  | 
 Nearest integer floating point operations | |
|    (C++11)(C++11)  | 
  nearest integer not less than the given value  (function)  | 
|    (C++11)(C++11)  | 
  nearest integer not greater than the given value  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  nearest integer not greater in magnitude than the given value  (function)  | 
|    (C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)  | 
  nearest integer, rounding away from zero in halfway cases  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  nearest integer using current rounding mode  (function)  | 
|    (C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)  | 
  nearest integer using current rounding mode with exception if the result differs (function)  | 
 Floating point manipulation functions | |
|    (C++11)(C++11)  | 
  decomposes a number into significand and base-2 exponent  (function)  | 
|    (C++11)(C++11)  | 
  multiplies a number by 2 raised to an integral power  (function)  | 
|    (C++11)(C++11)  | 
  decomposes a number into integer and fractional parts  (function)  | 
|    (C++11)(C++11)(C++11)(C++11)(C++11)(C++11)  | 
  multiplies a number by FLT_RADIX raised to a power  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  extracts exponent of the number  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  extracts exponent of the number  (function)  | 
|    (C++11)(C++11)(C++11)(C++11)(C++11)(C++11)  | 
  next representable floating-point value towards the given value  (function)  | 
|    (C++11)(C++11)(C++11)  | 
  copies the sign of a floating point value  (function)  | 
 Classification and comparison | |
|    (C++11)  | 
  categorizes the given floating-point value  (function)  | 
|    (C++11)  | 
  checks if the given number has finite value  (function)  | 
|    (C++11)  | 
  checks if the given number is infinite  (function)  | 
|    (C++11)  | 
  checks if the given number is NaN  (function)  | 
|    (C++11)  | 
  checks if the given number is normal  (function)  | 
|    (C++11)  | 
  checks if the given number is negative  (function)  | 
|    (C++11)  | 
  checks if the first floating-point argument is greater than the second  (function)  | 
|    (C++11)  | 
  checks if the first floating-point argument is greater or equal than the second  (function)  | 
|    (C++11)  | 
  checks if the first floating-point argument is less than the second  (function)  | 
|    (C++11)  | 
  checks if the first floating-point argument is less or equal than the second  (function)  | 
|    (C++11)  | 
  checks if the first floating-point argument is less or greater than the second  (function)  | 
|    (C++11)  | 
  checks if two floating-point values are unordered  (function)  | 
[edit] Types
|   Defined in header  
<cstdlib>  | |
|   structure type, returned by std::div  (typedef)  | |
|   structure type, returned by std::ldiv  (typedef)  | |
|    (C++11)  | 
  structure type, returned by std::lldiv  (typedef)  | 
|   Defined in header  
<cinttypes>  | |
|    (C++11)  | 
  structure type, returned by std::imaxdiv  (typedef)  | 
|   Defined in header  
<cmath>  | |
|    float_t (C++11)  | 
  most efficient floating-point type at least as wide as float  (typedef)  | 
|    double_t (C++11)  | 
  most efficient floating-point type at least as wide as double  (typedef)  | 
[edit] Macro constants
|   Defined in header  
<cmath>  | |
|    (C++11)(C++11)  | 
  indicates the overflow value for float, double and long double respectively  (macro constant)  | 
|    (C++11)  | 
  evaluates to positive infinity or the value guaranteed to overflow a float  (macro constant)  | 
|    (C++11)  | 
  evaluates to a quiet NaN of type float  (macro constant)  | 
|    (C++11)(C++11)(C++11)  | 
  defines the error handling mechanism used by the common mathematical functions  (macro constant)  | 
 Classification | |
|    (C++11)(C++11)(C++11)(C++11)(C++11)  | 
  indicates a floating-point category  (macro constant)  | 
[edit] Notes
| Feature-test macro | Value | Std | Feature | 
|---|---|---|---|
__cpp_lib_constexpr_cmath | 
202202L | 
(C++23) | Constexpr for FP environment agnostic mathematical functions in <cmath> and <cstdlib> | 
202306L | 
(C++26) | Constexpr for most mathematical functions in <cmath> | 
[edit] See also
| Mathematical special functions | |
|   C documentation for Common mathematical functions 
 |