Common mathematical functions
From cppreference.com
Functions
Defined in header
<stdlib.h>
|
|
(C99)
|
computes absolute value of an integral value (
|x|
)
(function) |
(C99)
|
computes quotient and remainder of integer division
(function) |
Defined in header
<inttypes.h>
|
|
(C99)
|
computes absolute value of an integral value (
|x|
)
(function) |
(C99)
|
computes quotient and remainder of integer division
(function) |
Defined in header
<math.h>
|
|
Basic operations |
|
(C99)
(C99)
|
computes absolute value of a floating-point value (
|x|
)
(function) |
(C99)
(C99)
|
computes remainder of the floating-point division operation
(function) |
(C99)
(C99)
(C99)
|
computes signed remainder of the floating-point division operation
(function) |
(C99)
(C99)
(C99)
|
computes signed remainder as well as the three last bits of the division operation
(function) |
(C99)
(C99)
(C99)
|
computes fused multiply-add operation
(function) |
(C99)
(C99)
(C99)
|
determines larger of two floating-point values
(function) |
(C99)
(C99)
(C99)
|
determines smaller of two floating-point values
(function) |
(C99)
(C99)
(C99)
|
determines positive difference of two floating-point values (
max(0, x-y)
)
(function) |
(C99)
(C99)
(C99)
|
returns a NaN (not-a-number)
(function) |
Exponential functions |
|
(C99)
(C99)
|
computes
e
raised to the given power (
e
x
)
(function) |
(C99)
(C99)
(C99)
|
computes
2
raised to the given power (
2
x
)
(function) |
(C99)
(C99)
(C99)
|
computes
e
raised to the given power, minus one (
e
x
-1
)
(function) |
(C99)
(C99)
|
computes natural (base-
e
) logarithm (
ln(x)
)
(function) |
(C99)
(C99)
|
computes common (base-
10
) logarithm (
log
10
(x)
)
(function) |
(C99)
(C99)
(C99)
|
computes base-2 logarithm (
log
2
(x)
)
(function) |
(C99)
(C99)
(C99)
|
computes natural (base-
e
) logarithm of 1 plus the given number (
ln(1+x)
)
(function) |
Power functions |
|
(C99)
(C99)
|
computes a number raised to the given power (
x
y
)
(function) |
(C99)
(C99)
|
computes square root (
√
x
)
(function) |
(C99)
(C99)
(C99)
|
computes cube root (
3
√
x
)
(function) |
(C99)
(C99)
(C99)
|
computes square root of the sum of the squares of two given numbers (
√
x
2
+y
2
)
(function) |
Trigonometric functions |
|
(C99)
(C99)
|
computes sine (
sin(x)
)
(function) |
(C99)
(C99)
|
computes cosine (
cos(x)
)
(function) |
(C99)
(C99)
|
computes tangent (
tan(x)
)
(function) |
(C99)
(C99)
|
computes arc sine (
arcsin(x)
)
(function) |
(C99)
(C99)
|
computes arc cosine (
arccos(x)
)
(function) |
(C99)
(C99)
|
computes arc tangent (
arctan(x)
)
(function) |
(C99)
(C99)
|
computes arc tangent, using signs to determine quadrants
(function) |
Hyperbolic functions |
|
(C99)
(C99)
|
computes hyperbolic sine (
sinh(x)
)
(function) |
(C99)
(C99)
|
computes hyperbolic cosine (
cosh(x)
)
(function) |
(C99)
(C99)
|
computes hyperbolic tangent (
tanh(x)
)
(function) |
(C99)
(C99)
(C99)
|
computes inverse hyperbolic sine (
arsinh(x)
)
(function) |
(C99)
(C99)
(C99)
|
computes inverse hyperbolic cosine (
arcosh(x)
)
(function) |
(C99)
(C99)
(C99)
|
computes inverse hyperbolic tangent (
artanh(x)
)
(function) |
Error and gamma functions |
|
(C99)
(C99)
(C99)
|
computes error function
(function) |
(C99)
(C99)
(C99)
|
computes complementary error function
(function) |
(C99)
(C99)
(C99)
|
computes gamma function
(function) |
(C99)
(C99)
(C99)
|
computes natural (base-
e
) logarithm of the gamma function
(function) |
Nearest integer floating-point operations |
|
(C99)
(C99)
|
computes smallest integer not less than the given value
(function) |
(C99)
(C99)
|
computes largest integer not greater than the given value
(function) |
(C99)
(C99)
(C99)
|
rounds to nearest integer not greater in magnitude than the given value
(function) |
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
rounds to nearest integer, rounding away from zero in halfway cases
(function) |
(C99)
(C99)
(C99)
|
rounds to an integer using current rounding mode
(function) |
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
rounds to an integer using current rounding mode with
exception if the result differs (function) |
Floating-point manipulation functions |
|
(C99)
(C99)
|
breaks a number into significand and a power of
2
(function) |
(C99)
(C99)
|
multiplies a number by
2
raised to a power
(function) |
(C99)
(C99)
|
breaks a number into integer and fractional parts
(function) |
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
computes efficiently a number times
FLT_RADIX
raised to a power
(function) |
(C99)
(C99)
(C99)
|
extracts exponent of the given number
(function) |
(C99)
(C99)
(C99)
|
extracts exponent of the given number
(function) |
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
determines next representable floating-point value towards the given value
(function) |
(C99)
(C99)
(C99)
|
produces a value with the magnitude of a given value and the sign of another given value
(function) |
Classification and comparison |
|
(C99)
|
classifies the given floating-point value
(function macro) |
(C99)
|
checks if the given number has finite value
(function macro) |
(C99)
|
checks if the given number is infinite
(function macro) |
(C99)
|
checks if the given number is NaN
(function macro) |
(C99)
|
checks if the given number is normal
(function macro) |
(C99)
|
checks if the given number is negative
(function macro) |
(C99)
|
checks if the first floating-point argument is greater than the second
(function macro) |
(C99)
|
checks if the first floating-point argument is greater or equal than the second
(function macro) |
(C99)
|
checks if the first floating-point argument is less than the second
(function macro) |
(C99)
|
checks if the first floating-point argument is less or equal than the second
(function macro) |
(C99)
|
checks if the first floating-point argument is less or greater than the second
(function macro) |
(C99)
|
checks if two floating-point values are unordered
(function macro) |
Types
Defined in header
<stdlib.h>
|
|
structure type, return of the
div
function
(typedef) |
|
structure type, return of the
ldiv
function
(typedef) |
|
(C99)
|
structure type, return of the
lldiv
function
(typedef) |
Defined in header
<inttypes.h>
|
|
(C99)
|
structure type, return of the
imaxdiv
function
(typedef) |
Defined in header
<math.h>
|
|
(C99)
(C99)
|
most efficient floating-point type at least as wide as
float
or
double
(typedef) |
Macro constants
Defined in header
<math.h>
|
|
(C99)
(C99)
|
indicates value too big to be representable (infinity) by
float
,
double
and
long
double
respectively
(macro constant) |
(C99)
|
evaluates to positive infinity or the value guaranteed to overflow a
float
(macro constant) |
(C99)
|
evaluates to a quiet NaN of type
float
(macro constant) |
(C99)
(C99)
(C99)
|
indicates that the fma function generally executes about as fast as, or faster than, a multiply and an add of double operands
(macro constant) |
(C99)
(C99)
|
evaluates to ilogb(x) if x is zero or NaN, respectively
(macro constant) |
(C99)
(C99)
(C99)
|
defines the error handling mechanism used by the common mathematical functions
(macro constant) |
Classification |
|
(C99)
(C99)
(C99)
(C99)
(C99)
|
indicates a floating-point category
(macro constant) |
References
- C17 standard (ISO/IEC 9899:2018):
-
- 7.8 Format conversion of integer types <inttypes.h> (p: 158-160)
-
- 7.12 Mathematics <math.h> (p: 169-190)
-
- 7.22 General utilities <stdlib.h> (p: 248-262)
-
- 7.31.5 Format conversion of integer types <inttypes.h> (p: 332)
-
- 7.31.12 General utilities <stdlib.h> (p: 333)
- C11 standard (ISO/IEC 9899:2011):
-
- 7.8 Format conversion of integer types <inttypes.h> (p: 217-220)
-
- 7.12 Mathematics <math.h> (p: 231-261)
-
- 7.22 General utilities <stdlib.h> (p: 340-360)
-
- 7.31.5 Format conversion of integer types <inttypes.h> (p: 455)
-
- 7.31.12 General utilities <stdlib.h> (p: 456)
- C99 standard (ISO/IEC 9899:1999):
-
- 7.8 Format conversion of integer types <inttypes.h> (p: 198-201)
-
- 7.12 Mathematics <math.h> (p: 212-242)
-
- 7.20 General utilities <stdlib.h> (p: 306-324)
-
- 7.26.4 Format conversion of integer types <inttypes.h> (p: 401)
-
- 7.26.10 General utilities <stdlib.h> (p: 402)
- C89/C90 standard (ISO/IEC 9899:1990):
-
- 4.5 MATHEMATICS <math.h>
-
- 4.10 GENERAL UTILITIES <stdlib.h>
-
- 4.13.4 Mathematics <math.h>
-
- 7.13.7 General utilities <stdlib.h>
See also
C++ documentation
for
Common mathematical functions
|