Numerics library
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 ../header/cmath provides standard C library mathematical functions such as std::fabs, std::sqrt, and std::sin.
Mathematical special functions (since C++17)
The header ../header/cmath also provides several mathematical special functions such as std::beta, std::hermite, and std::cyl_bessel_i.
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 ../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) |
Interpolation operations
Defined in header <numeric>
|
|
|---|---|
|
(C++20) |
midpoint between two numbers or pointers (function template) |
Defined in header <cmath>
|
|
|
(C++20) |
linear interpolation function (function) |
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
Pseudo-random number generation
The header ../header/random defines pseudo-random number generators and numerical distributions. The header ../header/cstdlib also includes C-style random number generation via std::srand and std::rand.
Compile time rational arithmetic (since C++11)
The header ../header/ratio provides types and functions for manipulating and storing compile-time ratios.
Floating-point environment (since C++11)
The header ../header/cfenv defines flags and functions related to exceptional floating-point state, such as overflow and division by zero.
Bit manipulation (since C++20)
The header ../header/bit provides several function templates to access, manipulate, and process individual bits and bit sequences.
Defined in header <bit>
|
|
|---|---|
Defined in namespace std
|
|
| reinterpret the object representation of one type as that of another (function template) | |
| checks if a number is an integral power of two (function template) | |
| finds the smallest integral power of two not less than the given value (function template) | |
| finds the largest integral power of two not greater than the given value (function template) | |
| finds the smallest number of bits needed to represent the given value (function template) |
See also
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/numeric