数値ライブラリ
From cppreference.com
< cpp
C++の数値ライブラリには、一般的な数学関数と型、最適化された数値配列、乱数生成のサポートが含まれています。
目次 |
[編集] 数学関数と型
[編集] 一般的な数学関数
ヘッダ <cmath> は、std::fabs、std::sqrt、std::sin のような 標準Cライブラリの数学関数 を提供します。
[編集] 数学特殊関数 (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つの整数に対する飽和除算操作 (関数テンプレート) |
| (C++26) |
別の整数型の範囲にクランプされた整数値を返す (関数テンプレート) |
[編集] 数値操作
| ヘッダー
<numeric> で定義 | |
| (C++11) |
開始値からの連続した増分値で範囲を埋める (関数テンプレート) |
| (C++23) |
開始値からの連続した増分値で範囲を埋める (アルゴリズム関数オブジェクト) |
| 範囲の要素を合計または畳み込む (関数テンプレート) | |
| (C++17) |
std::accumulate に似ているが、順序不同 (関数テンプレート) |
| (C++17) |
呼び出し可能オブジェクトを適用し、順序不同に縮約する (関数テンプレート) |
| 2つの範囲の要素の内積を計算する (関数テンプレート) | |
| 範囲内の隣接する要素間の差を計算する (関数テンプレート) | |
| 範囲の要素の部分和を計算する (関数テンプレート) | |
| (C++17) |
std::partial_sum に似ているが、i 番目の入力要素を i 番目の合計に含める (関数テンプレート) |
| (C++17) |
std::partial_sum に似ているが、i 番目の入力要素を i 番目の合計から除外する (関数テンプレート) |
| (C++17) |
呼び出し可能オブジェクトを適用し、インクルーシブスキャンを計算する (関数テンプレート) |
| (C++17) |
呼び出し可能オブジェクトを適用し、エクスクルーシブスキャンを計算する (関数テンプレート) |
[編集] その他
[編集] 擬似乱数生成
ヘッダ <random> は 擬似乱数生成器と数値分布を定義します。ヘッダ <cstdlib> は、std::srand と std::rand によるCスタイルの乱数生成も含みます。
[編集] 浮動小数点環境 (C++11から)
ヘッダ <cfenv> は、オーバーフローやゼロ除算のような、例外的な浮動小数点状態に関連するフラグと関数を定義します。
[編集] ビット操作 (C++20から)
ヘッダ <bit> は、個々のビットやビットシーケンスにアクセス、操作、処理するためのいくつかの関数テンプレートを提供します。スカラ型のバイトオーダー(エンディアン)は、std::endian 機能によって調べることができます。
[編集] 関連項目
| C言語ドキュメントの数値
|