Common mathematical functions - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# Common mathematical functions

From cppreference.com
< c‎ | numeric

### [edit] Functions

Defined in header `<stdlib.h>`
abslabsllabs (C99) | computes absolute value of an integral value (|x|) (function) [edit]
divldivlldiv (C99) | computes quotient and remainder of integer division (function) [edit]
Defined in header `<inttypes.h>`
imaxabs (C99) | computes absolute value of an integral value (|x|) (function) [edit]
imaxdiv (C99) | computes quotient and remainder of integer division (function) [edit]
Defined in header `<math.h>`
##### Basic operations
fabsfabsffabsl (C99)(C99) | computes absolute value of a floating-point value (|x|) (function) [edit]
fmodfmodffmodl (C99)(C99) | computes remainder of the floating-point division operation (function) [edit]
remainderremainderfremainderl (C99)(C99)(C99) | computes signed remainder of the floating-point division operation (function) [edit]
remquoremquofremquol (C99)(C99)(C99) | computes signed remainder as well as the three last bits of the division operation (function) [edit]
fmafmaffmal (C99)(C99)(C99) | computes fused multiply-add operation (function) [edit]
fmaxfmaxffmaxl (C99)(C99)(C99) | determines larger of two floating-point values (function) [edit]
fminfminffminl (C99)(C99)(C99) | determines smaller of two floating-point values (function) [edit]
fdimfdimffdiml (C99)(C99)(C99) | determines positive difference of two floating-point values (max(0, x-y)) (function) [edit]
nannanfnanl (C99)(C99)(C99) | returns a NaN (not-a-number) (function) [edit]
##### Exponential functions
expexpfexpl (C99)(C99) | computes e raised to the given power (ex) (function) [edit]
exp2exp2fexp2l (C99)(C99)(C99) | computes 2 raised to the given power (2x) (function) [edit]
expm1expm1fexpm1l (C99)(C99)(C99) | computes e raised to the given power, minus one (ex-1) (function) [edit]
loglogflogl (C99)(C99) | computes natural (base-e) logarithm (ln(x)) (function) [edit]
log10log10flog10l (C99)(C99) | computes common (base-10) logarithm (log10(x)) (function) [edit]
log2log2flog2l (C99)(C99)(C99) | computes base-2 logarithm (log2(x)) (function) [edit]
log1plog1pflog1pl (C99)(C99)(C99) | computes natural (base-e) logarithm of 1 plus the given number (ln(1+x)) (function) [edit]
##### Power functions
powpowfpowl (C99)(C99) | computes a number raised to the given power (xy) (function) [edit]
sqrtsqrtfsqrtl (C99)(C99) | computes square root (√x) (function) [edit]
cbrtcbrtfcbrtl (C99)(C99)(C99) | computes cubic root (3√x) (function) [edit]
hypothypotfhypotl (C99)(C99)(C99) | computes square root of the sum of the squares of two given numbers (√x2 +y2 ) (function) [edit]
##### Trigonometric functions
sinsinfsinl (C99)(C99) | computes sine (sin(x)) (function) [edit]
coscosfcosl (C99)(C99) | computes cosine (cos(x)) (function) [edit]
tantanftanl (C99)(C99) | computes tangent (tan(x)) (function) [edit]
asinasinfasinl (C99)(C99) | computes arc sine (arcsin(x)) (function) [edit]
acosacosfacosl (C99)(C99) | computes arc cosine (arccos(x)) (function) [edit]
atanatanfatanl (C99)(C99) | computes arc tangent (arctan(x)) (function) [edit]
atan2atan2fatan2l (C99)(C99) | computes arc tangent, using signs to determine quadrants (function) [edit]
##### Hyperbolic functions
sinhsinhfsinhl (C99)(C99) | computes hyperbolic sine (sh(x)) (function) [edit]
coshcoshfcoshl (C99)(C99) | computes hyperbolic cosine (ch(x)) (function) [edit]
tanhtanhftanhl (C99)(C99) | computes hyperbolic tangent (function) [edit]
asinhasinhfasinhl (C99)(C99)(C99) | computes inverse hyperbolic sine (arsinh(x)) (function) [edit]
acoshacoshfacoshl (C99)(C99)(C99) | computes inverse hyperbolic cosine (arcosh(x)) (function) [edit]
atanhatanhfatanhl (C99)(C99)(C99) | computes inverse hyperbolic tangent (artanh(x)) (function) [edit]
##### Error and gamma functions
erferfferfl (C99)(C99)(C99) | computes error function (function) [edit]
erfcerfcferfcl (C99)(C99)(C99) | computes complementary error function (function) [edit]
tgammatgammaftgammal (C99)(C99)(C99) | computes gamma function (function) [edit]
lgammalgammaflgammal (C99)(C99)(C99) | computes natural (base-e) logarithm of the gamma function (function) [edit]
##### Nearest integer floating-point operations
ceilceilfceill (C99)(C99) | computes smallest integer not less than the given value (function) [edit]
floorfloorffloorl (C99)(C99) | computes largest integer not greater than the given value (function) [edit]
trunctruncftruncl (C99)(C99)(C99) | rounds to nearest integer not greater in magnitude than the given value (function) [edit]
roundlroundllround (C99)(C99)(C99) | rounds to nearest integer, rounding away from zero in halfway cases (function) [edit]
nearbyintnearbyintfnearbyintl (C99)(C99)(C99) | rounds to an integer using current rounding mode (function) [edit]
rintrintfrintllrintlrintflrintlllrintllrintfllrintl (C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) | rounds to an integer using current rounding mode with exception if the result differs (function) [edit]
##### Floating-point manipulation functions
frexpfrexpffrexpl (C99)(C99) | breaks a number into significand and a power of 2 (function) [edit]
ldexpldexpfldexpl (C99)(C99) | multiplies a number by 2 raised to a power (function) [edit]
modfmodffmodfl (C99)(C99) | breaks a number into integer and fractional parts (function) [edit]
scalbnscalbnfscalbnlscalblnscalblnfscalblnl (C99)(C99)(C99)(C99)(C99)(C99) | computes efficiently a number times FLT_RADIX raised to a power (function) [edit]
ilogbilogbfilogbl (C99)(C99)(C99) | extracts exponent of the given number (function) [edit]
logblogbflogbl (C99)(C99)(C99) | extracts exponent of the given number (function) [edit]
nextafternextafterfnextafterlnexttowardnexttowardfnexttowardl (C99)(C99)(C99)(C99)(C99)(C99) | determines next representable floating-point value towards the given value (function) [edit]
copysigncopysignfcopysignl (C99)(C99)(C99) | produces a value with the magnitude of a given value and the sign of another given value (function) [edit]
##### Classification and comparison
fpclassify (C99) | classifies the given floating-point value (function) [edit]
isfinite (C99) | checks if the given number has finite value (function) [edit]
isinf (C99) | checks if the given number is infinite (function) [edit]
isnan (C99) | checks if the given number is NaN (function) [edit]
isnormal (C99) | checks if the given number is normal (function) [edit]
signbit (C99) | checks if the given number is negative (function) [edit]
isgreater (C99) | checks if the first floating-point argument is greater than the second (function) [edit]
isgreaterequal (C99) | checks if the first floating-point argument is greater or equal than the second (function) [edit]
isless (C99) | checks if the first floating-point argument is less than the second (function) [edit]
islessequal (C99) | checks if the first floating-point argument is less or equal than the second (function) [edit]
islessgreater (C99) | checks if the first floating-point argument is less or greater than the second (function) [edit]
isunordered (C99) | checks if two floating-point values are unordered (function) [edit]

### [edit] Types

Defined in header `<stdlib.h>`
div_t | structure type, return of the div function (typedef) [edit]
ldiv_t | structure type, return of the ldiv function (typedef) [edit]
lldiv_t (C99) | structure type, return of the lldiv function (typedef) [edit]
Defined in header `<inttypes.h>`
imaxdiv_t (C99) | structure type, return of the imaxdiv function (typedef) [edit]
Defined in header `<math.h>`
float_t (C99) | most efficient floating-point type at least as wide as float (typedef) [edit]
double_t (C99) | most efficient floating-point type at least as wide as double (typedef) [edit]

### [edit] Macro constants

Defined in header `<math.h>`
HUGE_VALFHUGE_VALHUGE_VALL (C99)(C99) | indicates value too big to be representable (infinity) by float, double and long double respectively (macro constant) [edit]
INFINITY (C99) | evaluates to positive infinity or the value guaranteed to overflow a float (macro constant) [edit]
NAN (C99) | evaluates to a quiet NaN of type float (macro constant) [edit]
FP_FAST_FMAFFP_FAST_FMAFP_FAST_FMAL (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) [edit]
FP_ILOGB0FP_ILOGBNAN (C99)(C99) | evaluates to ilogb(x) if x is zero or NaN, respectively (macro constant) [edit]
math_errhandlingMATH_ERRNOMATH_ERREXCEPT (C99)(C99)(C99) | defines the error handling mechanism used by the common mathematical functions (macro constant) [edit]
##### Classification
FP_NORMALFP_SUBNORMALFP_ZEROFP_INFINITEFP_NAN (C99)(C99)(C99)(C99)(C99) | indicates a floating-point category (macro constant) [edit]

### [edit] References

- 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>

### [edit] See also

C++ documentation for Common mathematical functions

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/numeric/math&oldid=87839"