- [meta exposition-only]
- simd[meta header]
- concept[meta id-type]
- std::simd[meta namespace]
- cpp26[meta cpp]
namespace std::simd {
template<class T>
concept math-floating-point =
simd-floating-point<deduced-vec-t<T>>;
}- deduced-vec-t[link /reference/simd/deduced-vec-t.md]
- simd-floating-point[link simd-floating-point.md]
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で