# Numerics

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

- float variant

- complex function:

- float variant
`cXXXf`

- double variant
`cXXX`

- long double variant
`cXXXl`

- float variant