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