##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### 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.

### [edit] Common mathematical functions

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

### [edit] Complex numbers

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

### [edit] Numeric arrays

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

### [edit] Generic numeric operations

Defined in header `<numeric>`
iota (C++11) | fills a range with successive increments of the starting value (function template) [edit]
accumulate | sums up a range of elements (function template) [edit]
inner_product | computes the inner product of two ranges of elements (function template) [edit]
adjacent_difference | computes the differences between adjacent elements in a range (function template) [edit]
partial_sum | computes the partial sum of a range of elements (function template) [edit]

### [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.

### [edit] Compile time rational arithmetic (since C++11)

The header `ratio` provides types and functions for manipulating and storing compile-time ratios.

### [edit] Floating-point environment

The header `fenv` defines flags and functions related to exceptional floating-point state, such as overflow and division by zero.

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/numeric&oldid=58447"