namespace std::simd {
template<class T>
concept math-floating-point =
simd-floating-point<deduced-vec-t<T>>;
}
概要
math-floating-pointは、型Tから導出されるデータ並列型(説明専用のdeduced-vec-t<T>)が、浮動小数点数を要素とするbasic_vec(simd-floating-point)であることを表す説明専用のコンセプトである。
deduced-vec-t<T>は、Tがbasic_vecであればそのままTを、Tが浮動小数点数のスカラー型であれば対応する要素数1のbasic_vecを表す。これにより、exp・sin・sqrtなどの数学関数を、データ並列型とスカラーの両方で共通のインタフェースとして呼び出せる。std::simdの数学関数のほとんどは、このコンセプトをテンプレートパラメータ制約として使用する。
バージョン
言語
- C++26
関連項目
参照
- P1928R15 std::simd — merge data-parallel types from the Parallelism TS 2
- C++26で
std::simdライブラリが追加された
- C++26で