最終更新日時:
が更新

履歴 編集

concept
<simd>

std::simd::reduction-binary-operation(C++26)

namespace std::simd {
  template<class BinaryOperation, class T>
  concept reduction-binary-operation =
    requires (const BinaryOperation binary_op, const vec<T, 1> v) {
      { binary_op(v, v) } -> same_as<vec<T, 1>>;
    };
}

概要

reduction-binary-operationは、型BinaryOperationが、要素型Tのデータ並列型に対するreduceの二項演算として使用できることを表す説明専用のコンセプトである。

vec<T, 1>の2つの値で呼び出せて、結果が同じvec<T, 1>型になる場合に、構文的な要件を満たす。

モデル

BinaryOperationTreduction-binary-operation<BinaryOperation, T>のモデルとなるのは、上記の構文的要件に加えて、次を満たす場合に限る。

  • BinaryOperationが要素ごとの二項演算であり、かつ可換であること
  • BinaryOperationのオブジェクトを、未規定のABIタグAbiをもつbasic_vec<T, Abi>型の2引数で呼び出せて、basic_vec<T, Abi>を返すこと

バージョン

言語

  • C++26

関連項目

参照