Difference between revisions of "cpp/numeric"
m (remove rev box) |
m ({{header}}) |
||
Line 8: | Line 8: | ||
===[[cpp/numeric/math|Common mathematical functions]]=== | ===[[cpp/numeric/math|Common mathematical functions]]=== | ||
− | The header {{ | + | The header {{header|cmath}} provides [[cpp/numeric/math|standard C library mathematical functions]] such as {{lc|std::fabs}}, {{lc|std::sqrt}}, and {{lc|std::sin}}. |
===[[cpp/numeric/special_math|Special mathematical functions]] {{mark since c++17}}=== | ===[[cpp/numeric/special_math|Special mathematical functions]] {{mark since c++17}}=== | ||
− | The header {{ | + | The header {{header|cmath}} also provides several mathematical special functions such as {{lc|std::beta}}, {{lc|std::hermite}}, and {{lc|std::cyl_bessel_i}}. |
===Complex number arithmetic=== | ===Complex number arithmetic=== | ||
Line 30: | Line 30: | ||
==Numeric algorithms== | ==Numeric algorithms== | ||
− | The header {{ | + | The header {{header|numeric}} provides numeric algorithms below: |
===Factor operations=== | ===Factor operations=== |
Revision as of 09:57, 18 June 2018
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 functions (since C++17)
The 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 <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.
Bit manipulation (since C++20)
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++20) |
checks if a number is an integral power of 2 (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) |
See also
C documentation for Numerics
|