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