• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function template
    <linalg>

    std::linalg::multipliable

    namespace std::linalg {
      constexpr bool multipliable(
        const in-matrix auto& in_mat,
        const in-vector auto& in_vec,
        const in-vector auto& out_vec)
      {
        return out_vec.extent(0) == in_mat.extent(0) &&
               in_mat.extent(1) == in_vec.extent(0);
      } // (1)
    
      constexpr bool multipliable(
        const in-vector auto& in_vec,
        const in-matrix auto& in_mat,
        const in-vector auto& out_vec)
      {
        return out_vec.extent(0) == in_mat.extent(1) &&
               in_mat.extent(0) == in_vec.extent(0);
      } // (2)
    
      constexpr bool multipliable(
        const in-matrix auto& in_mat1,
        const in-matrix auto& in_mat2,
        const in-matrix auto& out_mat)
      {
        return out_mat.extent(0) == in_mat1.extent(0) &&
               out_mat.extent(1) == in_mat2.extent(1) &&
               in1_mat.extent(1) == in_mat2.extent(0);
      } // (3)
    }
    

    概要

    テンプレートパラメータに指定されたベクトルや行列が掛けられるかを静的要素数で判定する、説明専用の関数である。

    戻り値

    InMat型の変数をA, InVec型の変数をx, OutVec型の変数をyとする。

    • (1): yAx が可能ならtrue、そうでないならfalse
    • (2): ytxtA が可能ならtrue、そうでないならfalse
    • (3): InMat1型の変数をA, InMat2型の変数をB, OutMat型の変数Cとすると、CAB が可能ならtrue、そうでないならfalse

    バージョン

    言語

    • C++26

    関連項目

    参照