namespace std::linalg {
template<in-vector In1, in-vector In2, in-vector Out>
constexpr bool possibly-addable()
{
return compatible-static-extents<Out, In1>(0, 0) &&
compatible-static-extents<Out, In2>(0, 0) &&
compatible-static-extents<In1, In2>(0, 0);
} // (1)
template<in-matrix In1, in-matrix In2, in-matrix Out>
constexpr bool possibly-addable()
{
return compatible-static-extents<Out, In1>(0, 0) &&
compatible-static-extents<Out, In1>(1, 1) &&
compatible-static-extents<Out, In2>(0, 0) &&
compatible-static-extents<Out, In2>(1, 1) &&
compatible-static-extents<In1, In2>(0, 0) &&
compatible-static-extents<In1, In2>(1, 1);
} // (2)
}
概要
テンプレートパラメータに指定されたベクトルまたは行列の次元が同じかどうかを静的要素数で判定する、説明専用の関数である。
戻り値
In1
、In2
、Out
の各次元の静的要素数が同じ場合true
を返す。そうでない場合は、false
を返す。
- (1): ベクトル
- (2): 行列
バージョン
言語
- C++26