C mathematical functions

In C99, this shortcoming was fixed by introducing new sets of functions that work on float and long double arguments.

[3] These functions can be used to control a variety of settings that affect floating-point computations, for example, the rounding mode, on what conditions exceptions occur, when numbers are flushed to zero, etc.

Note that C99 and C++ do not implement complex numbers in a code-compatible way – the latter instead provides the class std::complex.

Each type-generic macro that corresponds to a function that is defined for both real and complex numbers encapsulates a total of 6 different functions: float, double and long double, and their complex variants.

The C++ language includes native support for function overloading and thus does not provide the header even as a compatibility feature.

The header ( in C++) defines several functions that can be used for statistically random number generation.

[6] The arc4random family of random number functions are not defined in POSIX standard, but is found in some common libc implementations.