[numerics.general]

# 29 Numerics library [[numerics]](./#numerics)

## 29.1 General [numerics.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L6)

This Clause describes components that C++ programs may use to perform
seminumerical operations[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L10)

The following subclauses describe components for
complex number types, random number generation,
numeric (*n*-at-a-time)
arrays, generalized numeric algorithms, and
mathematical constants and functions for floating-point types,
as summarized in Table [125](#tab:numerics.summary "Table 125: Numerics library summary")[.](#2.sentence-1)

Table [125](#tab:numerics.summary) — Numerics library summary [[tab:numerics.summary]](./tab:numerics.summary)  

| [ð](#tab:numerics.summary-row-1) | **Subclause** | **Header** |
| --- | --- | --- |
| [ð](#tab:numerics.summary-row-2)<br>[[numeric.requirements]](numeric.requirements "29.2 Numeric type requirements") | Requirements |  |
| [ð](#tab:numerics.summary-row-3)<br>[[cfenv]](cfenv "29.3 The floating-point environment") | Floating-point environment | <cfenv> |
| [ð](#tab:numerics.summary-row-4)<br>[[complex.numbers]](complex.numbers "29.4 Complex numbers") | Complex numbers | <complex> |
| [ð](#tab:numerics.summary-row-5)<br>[[rand]](rand "29.5 Random number generation") | Random number generation | <random> |
| [ð](#tab:numerics.summary-row-6)<br>[[numarray]](numarray "29.6 Numeric arrays") | Numeric arrays | <valarray> |
| [ð](#tab:numerics.summary-row-7)<br>[[c.math]](c.math "29.7 Mathematical functions for floating-point types") | Mathematical functions for  floating-point types | <cmath>, <cstdlib> |
| [ð](#tab:numerics.summary-row-8)<br>[[numbers]](numbers "29.8 Numbers") | Numbers | <numbers> |
| [ð](#tab:numerics.summary-row-9)<br>[[linalg]](linalg "29.9 Basic linear algebra algorithms") | Linear algebra | <linalg> |
| [ð](#tab:numerics.summary-row-10)<br>[[simd]](simd "29.10 Data-parallel types") | Data-parallel types | <simd> |
