名前空間
変種
操作

数値演算ライブラリ

提供: cppreference.com
< cpp

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

目次

[編集] 数学関数と型

[編集] 一般的な数学関数

ヘッダ <cmath>std::fabs, std::sqrt, std::sin などの標準 C ライブラリの数学関数を提供します。

[編集] 特殊な数学関数 (C++17およびそれ以降)

ヘッダ <cmath>std::beta, std::hermite, std::cyl_bessel_i などのいくつかの特殊な数学関数も提供します。

[編集] 複素数算術

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

[編集] 数値配列

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

[編集] 数値演算アルゴリズム

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

[編集] 因数演算

ヘッダ <numeric> で定義
(C++17)
2つの整数の最大公約数を返す constexpr 関数テンプレート
(関数テンプレート) [edit]
(C++17)
2つの整数の最小公倍数を返す constexpr 関数テンプレート
(関数テンプレート) [edit]

[編集] 数値演算

ヘッダ <numeric> で定義
(C++11)
開始値を連続的にインクリメントして指定範囲を埋めます
(関数テンプレート) [edit]
指定範囲の要素を合計します
(関数テンプレート) [edit]
(C++17)
std::accumulate と同様ですが、計算順序は不定です
(関数テンプレート) [edit]
不定の計算順序で、関数オブジェクトを適用した結果を reduce します
(関数テンプレート) [edit]
2つの範囲の要素の内積を計算します
(関数テンプレート) [edit]
指定範囲の隣接する要素間の差を計算します
(関数テンプレート) [edit]
指定範囲の要素の部分和を計算します
(関数テンプレート) [edit]
std::partial_sum と同様ですが、計算順序は不定です
(関数テンプレート) [edit]
std::inclusive_scan と同様ですが、 i 番目の合計に i 番目の要素が含まれません
(関数テンプレート) [edit]
関数オブジェクトを適用した結果に対して inclusive scan を計算します
(関数テンプレート) [edit]
関数オブジェクトを適用した結果に対して exclusive scan を計算します
(関数テンプレート) [edit]

[編集] その他

[編集] 擬似乱数生成

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

[編集] コンパイル時有理数算術 (C++11およびそれ以降)

ヘッダ <ratio>コンパイル時有理数を格納および操作するための型と関数を提供します。

[編集] 浮動小数点環境 (C++11およびそれ以降)

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

[編集] ビット操作 (C++20およびそれ以降)

ヘッダ <bit> は個々のビットおよびビットシーケンスをアクセス、操作、および処理するためのいくつかの関数テンプレートを提供します。

ヘッダ <bit> で定義
名前空間 std で定義
ある型のオブジェクト表現を別の型のオブジェクト表現として再解釈します
(関数テンプレート) [edit]
数値が2の整数乗かどうか調べます
(関数テンプレート) [edit]
指定された値より小さくない最も小さな2の整数乗を求めます
(関数テンプレート) [edit]
指定された値より大きくない最も大きな2の整数乗を求めます
(関数テンプレート) [edit]
指定された値を表現するために必要な最小のビット数を求めます
(関数テンプレート) [edit]

[編集] 関連項目

数値演算C言語リファレンス