Numerics library
The C++ numerics library includes common mathematical functions and types, as well as optimized numeric arrays and support for random number generation.
Contents |
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.
Special mathematical 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) |
computes the greatest common divisor of two integers (function template) |
(C++17) |
computes 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 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) |
Miscellanous
Pseudo-random number generation
The header random
defines pseudo-random number generators and numerical distributions. The header cstdlib
also includes C-style 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 compile-time ratios.
Floating-point environment(since C++11)
The header cfenv
defines flags and functions related to exceptional floating-point state, such as overflow and division by zero.
See also
C documentation for Numerics
|