<numeric>
ヘッダでは、数値のシーケンスや数値の処理に特化したアルゴリズムを定義する。
集計
名前 | 説明 | 対応バージョン |
---|---|---|
accumulate |
範囲を集計する | |
reduce |
範囲を集計する | C++17 |
transform_reduce |
範囲の要素を変換しながら集計する | C++17 |
内積
名前 | 説明 | 対応バージョン |
---|---|---|
inner_product |
2つのシーケンスの内積を計算する |
部分和
名前 | 説明 | 対応バージョン |
---|---|---|
partial_sum |
範囲の部分和を計算する | |
inclusive_scan |
範囲の部分和を計算する (i番目の部分和にi番目の要素を含む) | C++17 |
exclusive_scan |
範囲の部分和を計算する (i番目の部分和にi番目の要素を含めない) | C++17 |
transform_inclusive_scan |
範囲の要素を変換しながら部分和を計算する (i番目の部分和にi番目の要素を含む) | C++17 |
transform_exclusive_scan |
範囲の要素を変換しながら部分和を計算する (i番目の部分和にi番目の要素を含めない) | C++17 |
数列
名前 | 説明 | 対応バージョン |
---|---|---|
adjacent_difference |
隣接する要素間の差を計算する | |
iota |
指定された値から始まる整数列を生成する | C++11 |
ranges::iota |
指定された値から始まる整数列を生成する | C++23 |
最大公約数と最小公倍数
名前 | 説明 | 対応バージョン |
---|---|---|
gcd |
最大公約数を求める | C++17 |
lcm |
最小公倍数を求める | C++17 |
中点
名前 | 説明 | 対応バージョン |
---|---|---|
midpoint |
数値とポインタの中点を求める | C++20 |
飽和演算
名前 | 説明 | 対応バージョン |
---|---|---|
add_sat |
飽和加算x + y |
C++26 |
sub_sat |
飽和減算x - y |
C++26 |
mul_sat |
飽和乗算x * y |
C++26 |
div_sat |
飽和除算x / y |
C++26 |
saturate_cast |
飽和演算あり型キャスト | C++26 |
関連項目
<algorithm>
- より汎用的なアルゴリズム