Numerics library
The C++ numerics library includes common mathematical functions and types, as well as optimized numeric arrays and support for random number generation.
Mathematical functions and types
Common mathematical functions
The header cmath
provides standard C library mathematical functions such as std::fabs, std::sqrt, and std::sin.
Mathematical special functionsThe header 
(since C++17) 
Complex number arithmetic
Defined in header
<complex>  
a complex number type (class template) 
Numeric arrays
Defined in header
<valarray>  
numeric arrays, array masks and array slices (class template) 
Numeric algorithms
The header numeric
provides numeric algorithms below:
Factor operations
Defined in header
<numeric>  
(C++17) 
constexpr function template returning the greatest common divisor of two integers (function template) 
(C++17) 
constexpr function template returning the least common multiple of two integers (function template) 
Numeric operations
Defined in header
<numeric>  
(C++11) 
fills a range with successive increments of the starting value (function template) 
sums up a range of elements (function template)  
(C++17) 
similar to std::accumulate, except out of order (function template) 
(C++17) 
applies a functor, then reduces out of order (function template) 
computes the inner product of two ranges of elements (function template)  
computes the differences between adjacent elements in a range (function template)  
computes the partial sum of a range of elements (function template)  
(C++17) 
similar to std::partial_sum, includes the ith input element in the ith sum (function template) 
(C++17) 
similar to std::partial_sum, excludes the ith input element from the ith sum (function template) 
(C++17) 
applies a functor, then calculates inclusive scan (function template) 
(C++17) 
applies a functor, then calculates exclusive scan (function template) 
Miscellanous
Pseudorandom number generation
The header random
defines pseudorandom number generators and numerical distributions. The header cstdlib
also includes Cstyle random number generation via std::srand and std::rand.
Compile time rational arithmetic (since C++11)
The header ratio
provides types and functions for manipulating and storing compiletime ratios.
Floatingpoint environment(since C++11)
The header cfenv
defines flags and functions related to exceptional floatingpoint state, such as overflow and division by zero.
See also
C documentation for Numerics
