The C++ numerics library includes common mathematical functions and types, as well as optimized numeric arrays and support for random number generation.
The header <cmath>
provides standard C library mathematical functions such as std::fabs
, std::sqrt
, and std::sin
.
The header <cmath>
also provides several mathematical special functions such as std::beta
, std::hermite
, and std::cyl_bessel_i
.
The header <numbers>
provides several mathematical constants, such as std::numbers::pi
or std::numbers::sqrt2
.
Defined in header <complex> 


a complex number type (class template) 
Defined in header <valarray> 


numeric arrays, array masks and array slices (class template) 
The header <numeric>
provides numeric algorithms below:
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) 
Defined in header <numeric> 


(C++20)  midpoint between two numbers or pointers (function template) 
Defined in header <cmath> 

(C++20)  linear interpolation function (function) 
Defined in header <numeric> 


(C++11)  fills a range with successive increments of the starting value (function template) 
(C++23)  fills a range with successive increments of the starting value (niebloid) 
sums up or folds a range of elements (function template) 

(C++17)  similar to std::accumulate , except out of order (function template) 
(C++17)  applies an invocable, 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 an invocable, then calculates inclusive scan (function template) 
(C++17)  applies an invocable, then calculates exclusive scan (function template) 
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
.
The header <cfenv>
defines flags and functions related to exceptional floatingpoint state, such as overflow and division by zero.
The header <bit>
provides several function templates to access, manipulate, and process individual bits and bit sequences.
Defined in header <bit> 


Defined in namespace std 

(C++20)  reinterpret the object representation of one type as that of another (function template) 
(C++23)  reverses the bytes in the given integer value (function template) 
(C++20)  checks if a number is an integral power of two (function template) 
(C++20)  finds the smallest integral power of two not less than the given value (function template) 
(C++20)  finds the largest integral power of two not greater than the given value (function template) 
(C++20)  finds the smallest number of bits needed to represent the given value (function template) 
(C++20)  computes the result of bitwise leftrotation (function template) 
(C++20)  computes the result of bitwise rightrotation (function template) 
(C++20)  counts the number of consecutive 0 bits, starting from the most significant bit (function template) 
(C++20)  counts the number of consecutive 1 bits, starting from the most significant bit (function template) 
(C++20)  counts the number of consecutive 0 bits, starting from the least significant bit (function template) 
(C++20)  counts the number of consecutive 1 bits, starting from the least significant bit (function template) 
(C++20)  counts the number of 1 bits in an unsigned integer (function template) 
(C++20)  indicates the endianness of scalar types (enum) 
C documentation for Numerics 
© cppreference.com
Licensed under the Creative Commons AttributionShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric