Namespaces
Variants

Numerics library

From cppreference.net

C++ 数値演算ライブラリには、一般的な数学関数と型、最適化された数値配列、および乱数生成のサポートが含まれています。

目次

数学関数と型

共通数学関数

ヘッダー <cmath> は、 標準Cライブラリの数学関数 を提供します。例えば std::fabs std::sqrt 、および std::sin などです。

数学的特殊関数 (C++17以降)

ヘッダー <cmath> はまた、 std::beta std::hermite 、および std::cyl_bessel_i など、いくつかの数学的特殊関数も提供します。

数学定数 (C++20以降)

ヘッダー <numbers> は、 std::numbers::pi std::numbers::sqrt2 といった数学定数を提供します。

基本線形代数アルゴリズム (C++26以降)

ヘッダー <linalg> は、BLASに基づいた基本的な線形代数アルゴリズムを提供します。

データ並列型 (C++26以降)

ヘッダー <simd> は、データ並列性を明示的に宣言し、より効率的なSIMDアクセスのためにデータを構造化するためのポータブルな型を提供します。

複素数演算

ヘッダーで定義 <complex>
複素数型
(クラステンプレート)

数値配列

ヘッダーで定義 <valarray>
数値配列、配列マスク、配列スライス
(クラステンプレート)

数値アルゴリズム

ヘッダー <numeric> は以下の数値アルゴリズムを提供します:

ファクター操作 (C++17以降)

定義済みヘッダー <numeric>
(C++17)
2つの整数の最大公約数を計算する
(関数テンプレート)
(C++17)
2つの整数の最小公倍数を計算する
(関数テンプレート)

補間操作 (C++20)

ヘッダーで定義 <numeric>
(C++20)
2つの数値またはポインタの中間点
(関数テンプレート)
ヘッダーで定義 <cmath>
(C++20)
線形補間関数
(関数)

飽和算術 (C++26以降)

定義済みヘッダ <numeric>
(C++26)
2つの整数に対する飽和加算演算
(関数テンプレート)
(C++26)
2つの整数に対する飽和減算演算
(関数テンプレート)
(C++26)
2つの整数に対する飽和乗算演算
(関数テンプレート)
(C++26)
2つの整数に対する飽和除算演算
(関数テンプレート)
別の整数型の範囲にクランプされた整数値を返す
(関数テンプレート)

数値演算

ヘッダーで定義 <numeric>
(C++11)
範囲を開始値からの連続的な増分値で埋める
(関数テンプレート)
範囲を開始値からの連続的な増分値で埋める
(アルゴリズム関数オブジェクト)
要素の範囲を合計または畳み込む
(関数テンプレート)
(C++17)
std::accumulate と類似するが、非順序実行
(関数テンプレート)
呼び出し可能オブジェクトを適用後、非順序で縮約
(関数テンプレート)
2つの要素範囲の内積を計算
(関数テンプレート)
範囲内の隣接要素間の差分を計算
(関数テンプレート)
要素範囲の部分和を計算
(関数テンプレート)
std::partial_sum と類似するが、 i 番目 の入力要素を i 番目 の和に含む
(関数テンプレート)
std::partial_sum と類似するが、 i 番目 の入力要素を i 番目 の和から除外
(関数テンプレート)
呼び出し可能オブジェクトを適用後、包括的スキャンを計算
(関数テンプレート)
呼び出し可能オブジェクトを適用後、排他的スキャンを計算
(関数テンプレート)

その他

擬似乱数生成

ヘッダー <random> 疑似乱数生成器と数値分布 を定義します。ヘッダー <cstdlib> には std::srand std::rand によるCスタイルの乱数生成も含まれます。

浮動小数点環境 (C++11以降)

ヘッダー <cfenv> は、 オーバーフローやゼロ除算などの浮動小数点例外状態に関連するフラグと関数 を定義します。

ビット操作 (C++20以降)

ヘッダー <bit> は、個々のビットとビットシーケンスにアクセス、操作、処理するためのいくつかの関数テンプレートを提供します。スカラ型のバイト順序( エンディアン )は、 std:: endian 機能を通じて検査できます。

チェック付き整数演算 (C++26以降)

C互換性ヘッダー <stdckdint.h> は、チェック付き整数演算のためのいくつかの関数テンプレートを提供します。

定義済みヘッダー <stdckdint.h>
(C++26)
2つの整数に対するチェック付き加算演算
(関数テンプレート)
(C++26)
2つの整数に対するチェック付き減算演算
(関数テンプレート)
(C++26)
2つの整数に対するチェック付き乗算演算
(関数テンプレート)

関連項目