Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/numeric"

From cppreference.com
< cpp
Line 3: Line 3:
  
 
The C++ numerics library includes common mathematical functions and types, as well as optimized numeric arrays and support for random number generation.
 
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==
  
 
===[[cpp/numeric/math|Common mathematical functions]]===
 
===[[cpp/numeric/math|Common mathematical functions]]===
Line 30: Line 32:
 
{{dsc end}}
 
{{dsc end}}
  
===Numeric algorithms===
+
==Numeric algorithms==
 +
 
 +
===Factor operations===
 +
 
 
{{dsc begin}}
 
{{dsc begin}}
 
{{dsc header | numeric}}
 
{{dsc header | numeric}}
 
{{dsc inc | cpp/numeric/dsc gcd}}
 
{{dsc inc | cpp/numeric/dsc gcd}}
 
{{dsc inc | cpp/numeric/dsc lcm}}
 
{{dsc inc | cpp/numeric/dsc lcm}}
====Numeric operations====
+
{{dsc end}}
 +
 
 +
===Numeric operations===
 +
 
 +
{{dsc begin}}
 
{{dsc inc | cpp/algorithm/dsc iota}}
 
{{dsc inc | cpp/algorithm/dsc iota}}
 
{{dsc inc | cpp/algorithm/dsc accumulate}}
 
{{dsc inc | cpp/algorithm/dsc accumulate}}
Line 48: Line 57:
 
{{dsc inc | cpp/algorithm/dsc transform_exclusive_scan}}
 
{{dsc inc | cpp/algorithm/dsc transform_exclusive_scan}}
 
{{dsc end}}
 
{{dsc end}}
 +
 +
==Miscellanous==
  
 
===[[cpp/numeric/random|Pseudo-random number generation]]===
 
===[[cpp/numeric/random|Pseudo-random number generation]]===
Line 61: Line 72:
 
The header {{tt|cfenv}} defines [[cpp/numeric/fenv|flags and functions related to exceptional floating-point state]], such as overflow and division by zero.
 
The header {{tt|cfenv}} defines [[cpp/numeric/fenv|flags and functions related to exceptional floating-point state]], such as overflow and division by zero.
  
===See also===
+
==See also==
 
{{dsc begin}}
 
{{dsc begin}}
 
{{dsc see c | c/numeric | Numerics}}
 
{{dsc see c | c/numeric | Numerics}}

Revision as of 12:50, 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

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.

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

Factor 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]

Numeric operations

(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]

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