Common mathematical functions

From cppreference.com
< c‎ | numeric
 
 
 
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
Maximum/minimum operations
Exponential functions
(C23)
(C99)
(C99)
(C23)
(C23)
(C99)
(C99)(C23)
(C23)
(C23)
Power functions
(C99)
(C23)
(C23)
(C99)
(C23)
(C23)
Trigonometric and hyperbolic functions
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Nearest integer floating-point operations
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
Floating-point manipulation functions
(C99)(C99)
(C99)(C23)
(C99)
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent functions
Decimal re-encoding functions
Total order and payload functions
Classification
(C99)
(C99)
(C99)
(C23)
Types
Macro constants
Special floating-point values
(C99)(C23)
Arguments and return values
Error handling
 

Functions

Defined in header <stdlib.h>
computes absolute value of an integral value (|x|)
(function)
computes quotient and remainder of integer division
(function)
Defined in header <inttypes.h>
computes absolute value of an integral value (|x|)
(function)
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)
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 (ex)
(function)
(C99)(C99)(C99)
computes 2 raised to the given power (2x)
(function)
(C99)(C99)(C99)
computes e raised to the given power, minus one (ex-1)
(function)
(C99)(C99)
computes natural (base-e) logarithm (ln(x))
(function)
computes common (base-10) logarithm (log10(x))
(function)
(C99)(C99)(C99)
computes base-2 logarithm (log2(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 (xy)
(function)
(C99)(C99)
computes square root (x)
(function)
(C99)(C99)(C99)
computes cubic root (3x)
(function)
(C99)(C99)(C99)
computes square root of the sum of the squares of two given numbers (x2
+y2
)
(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)
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)
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)
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
breaks a number into significand and a power of 2
(function)
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)
determines next representable floating-point value towards the given value
(function)
produces a value with the magnitude of a given value and the sign of another given value
(function)
Classification and comparison
classifies the given floating-point value
(function macro)
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)
checks if the given number is normal
(function macro)
checks if the given number is negative
(function macro)
checks if the first floating-point argument is greater than the second
(function macro)
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)
checks if the first floating-point argument is less or equal than the second
(function macro)
checks if the first floating-point argument is less or greater than the second
(function macro)
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)
structure type, return of the lldiv function
(typedef)
Defined in header <inttypes.h>
structure type, return of the imaxdiv function
(typedef)
Defined in header <math.h>
most efficient floating-point type at least as wide as float or double
(typedef)

Macro constants

Defined in header <math.h>
indicates value too big to be representable (infinity) by float, double and long double respectively
(macro constant)
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)
indicates that the fma function generally executes about as fast as, or faster than, a multiply and an add of double operands
(macro constant)
evaluates to ilogb(x) if x is zero or NaN, respectively
(macro constant)
defines the error handling mechanism used by the common mathematical functions
(macro constant)
Classification
indicates a floating-point category
(macro constant)

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>

See also