Namespaces
Variants
Actions

Numerics library

From cppreference.com
< cpp

The C++ numerics library includes common mathematical functions and types, as well as optimized numeric arrays and support for random number generation.

Contents

[edit] Mathematical functions and types

[edit] Common mathematical functions

The header <cmath> provides standard C library mathematical functions such as std::fabs, std::sqrt, and std::sin.

[edit] Mathematical special functions (since C++17)

The header <cmath> also provides several mathematical special functions such as std::beta, std::hermite, and std::cyl_bessel_i.

[edit] Mathematical constants (since C++20)

The header <numbers> provides several mathematical constants, such as std::numbers::pi or std::numbers::sqrt2

[edit] Basic linear algebra algorithms (since C++26)

The header <linalg> provides basic linear algebra algorithms which are based on BLAS.

[edit] Data-parallel types (since C++26)

The header <simd> provides portable types for explicitly stating data-parallelism and structuring data for more efficient SIMD access.

[edit] Complex number arithmetic

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

[edit] Numeric arrays

Defined in header <valarray>
numeric arrays, array masks and array slices
(class template)

[edit] Numeric algorithms

The header <numeric> provides numeric algorithms below:

[edit] Factor operations (since C++17)

Defined in header <numeric>
(C++17)
computes the greatest common divisor of two integers
(function template) [edit]
(C++17)
computes the least common multiple of two integers
(function template) [edit]

[edit] Interpolation operations (C++20)

Defined in header <numeric>
(C++20)
midpoint between two numbers or pointers
(function template) [edit]
Defined in header <cmath>
(C++20)
linear interpolation function
(function) [edit]

[edit] Saturation arithmetic (since C++26)

Defined in header <numeric>
(C++26)
saturating addition operation on two integers
(function template) [edit]
(C++26)
saturating subtraction operation on two integers
(function template) [edit]
(C++26)
saturating multiplication operation on two integers
(function template) [edit]
(C++26)
saturating division operation on two integers
(function template) [edit]
returns an integer value clamped to the range of another integer type
(function template) [edit]

[edit] Numeric operations

Defined in header <numeric>
(C++11)
fills a range with successive increments of the starting value
(function template) [edit]
fills a range with successive increments of the starting value
(algorithm function object)[edit]
sums up or folds a range of elements
(function template) [edit]
(C++17)
similar to std::accumulate, except out of order
(function template)