Common mathematical functions
From cppreference.com
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 (
e
x
)
(function) |
(C++11)
(C++11)
(C++11)
|
returns
2
raised to the given power (
2
x
)
(function) |
(C++11)
(C++11)
(C++11)
|
returns
e
raised to the given power, minus one (
e
x
-1
)
(function) |
(C++11)
(C++11)
|
computes natural (base
e
) logarithm (
ln(x)
)
(function) |
(C++11)
(C++11)
|
computes common (base
10
) logarithm (
log
10
(x)
)
(function) |
(C++11)
(C++11)
(C++11)
|
base 2 logarithm of the given number (
log
2
(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 (
x
y
)
(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 square root of the sum of the squares of two
or three
(since C++17)
given numbers (
√
x
2
+y
2
)
, (
√
x
2
+y
2
+z
2
)
(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) |
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) |
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) |
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> |
See also
Mathematical special functions | |
C documentation
for
Common mathematical functions
|