Numerics

From cppreference.com
< c

The C numerics library includes common mathematical functions and types, as well as support for random number generation.

Common mathematical functions

The header <math.h> provides standard C library mathematical functions such as fabs, sqrt, and sin.

Floating-point environment

The header <fenv.h> defines flags and functions related to exceptional floating-point state, such as overflow and division by zero.

Pseudo-random number generation

The header <stdlib.h> also includes C-style random number generation via srand and rand.

Complex number arithmetic

The header <complex.h> provides types and functions to work with complex numbers.

Type-generic math

The header <tgmath.h> provides some macros for a function which names XXX:

  • real function:
  • float variant XXXf
  • double variant XXX
  • long double variant XXXl
  • complex function:
  • float variant cXXXf
  • double variant cXXX
  • long double variant cXXXl

Bit manipulation (since C23)

The header <stdbit.h> provides macros and functions to work with the byte ordering and byte and bit representation of C objects.

Checked integer arithmetic (since C23)

Provides some type-generic macros for checked integer arithmetic:

Defined in header <stdckdint.h>
checked addition operation on two integers
(type-generic function macro)
checked subtraction operation on two integers
(type-generic function macro)
checked multiplication operation on two integers
(type-generic function macro)

See also

C++ documentation for Numerics library