Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/numeric"

From cppreference.com
< cpp
Line 35: Line 35:
 
{{dsc inc | cpp/numeric/dsc gcd}}
 
{{dsc inc | cpp/numeric/dsc gcd}}
 
{{dsc inc | cpp/numeric/dsc lcm}}
 
{{dsc inc | cpp/numeric/dsc lcm}}
{{dsc inc | cpp/numeric/dsc iota}}
+
====Numeric operations====
{{dsc inc | cpp/numeric/dsc accumulate}}
+
{{dsc inc | cpp/algorithm/dsc iota}}
{{dsc inc | cpp/numeric/dsc reduce}}
+
{{dsc inc | cpp/algorithm/dsc accumulate}}
{{dsc inc | cpp/numeric/dsc transform_reduce}}
+
{{dsc inc | cpp/algorithm/dsc reduce}}
{{dsc inc | cpp/numeric/dsc inner_product}}
+
{{dsc inc | cpp/algorithm/dsc transform_reduce}}
{{dsc inc | cpp/numeric/dsc adjacent_difference}}
+
{{dsc inc | cpp/algorithm/dsc inner_product}}
{{dsc inc | cpp/numeric/dsc partial_sum}}
+
{{dsc inc | cpp/algorithm/dsc adjacent_difference}}
{{dsc inc | cpp/numeric/dsc inclusive_scan}}
+
{{dsc inc | cpp/algorithm/dsc partial_sum}}
{{dsc inc | cpp/numeric/dsc exclusive_scan}}
+
{{dsc inc | cpp/algorithm/dsc inclusive_scan}}
{{dsc inc | cpp/numeric/dsc transform_inclusive_scan}}
+
{{dsc inc | cpp/algorithm/dsc exclusive_scan}}
{{dsc inc | cpp/numeric/dsc transform_exclusive_scan}}
+
{{dsc inc | cpp/algorithm/dsc transform_inclusive_scan}}
 +
{{dsc inc | cpp/algorithm/dsc transform_exclusive_scan}}
 
{{dsc end}}
 
{{dsc end}}
  

Revision as of 12:46, 1 February 2017

 
 
 

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

Contents

Common mathematical functions

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

Mathematical special functions

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

(since C++17)

Complex numbers

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

Numeric arrays

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

Numeric algorithms

Numeric operations

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]
(C++11)
fills a range with successive increments of the starting value
(function template) [edit]
sums up or folds a range of elements
(function template) [edit]
(C++17)
similar to std::accumulate, except out of order
(function template) [edit]
applies an invocable, then reduces out of order
(function template) [edit]
computes the inner product of two ranges of elements
(function template) [edit]
computes the differences between adjacent elements in a range
(function template) [edit]
computes the partial sum of a range of elements
(function template) [edit]
similar to std::partial_sum, includes the ith input element in the ith sum
(function template) [edit]
similar to std::partial_sum, excludes the ith input element from the ith sum
(function template) [edit]
applies an invocable, then calculates inclusive scan
(function template) [edit]
applies an invocable, then calculates exclusive scan
(function template) [edit]

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