MultExprTrait.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TRAITS_MULTEXPRTRAIT_H_
36 #define _BLAZE_MATH_TRAITS_MULTEXPRTRAIT_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
107 #include <blaze/util/InvalidType.h>
108 #include <blaze/util/mpl/If.h>
109 #include <blaze/util/mpl/Or.h>
115 
116 
117 namespace blaze {
118 
119 //=================================================================================================
120 //
121 // CLASS DEFINITION
122 //
123 //=================================================================================================
124 
125 //*************************************************************************************************
135 template< typename T1 // Type of the left-hand side multiplication operand
136  , typename T2 > // Type of the right-hand side multiplication operand
138 {
139  private:
140  //**struct Failure******************************************************************************
142  struct Failure { using Type = INVALID_TYPE; };
144  //**********************************************************************************************
145 
146  //**********************************************************************************************
148  using Tmp = If_< IsMatrix<T1>
156  , If_< IsRowMajorMatrix<T2>
163  , Failure >
164  , If_< IsColumnVector<T2>
166  , Failure > >
169  , Failure > > >
170  , If_< IsMatrix<T2>
171  , If_< IsDenseMatrix<T2>
172  , If_< IsRowMajorMatrix<T2>
175  , If_< IsRowMajorMatrix<T2>
178  , If_< IsVector<T2>
179  , If_< IsDenseVector<T2>
180  , If_< IsColumnVector<T2>
182  , Failure >
183  , If_< IsColumnVector<T2>
185  , Failure > >
186  , If_< IsNumeric<T2>
188  , Failure > > > >
189  , If_< IsRowMajorMatrix<T1>
190  , If_< IsMatrix<T2>
191  , If_< IsDenseMatrix<T2>
192  , If_< IsRowMajorMatrix<T2>
195  , If_< IsRowMajorMatrix<T2>
198  , If_< IsVector<T2>
199  , If_< IsDenseVector<T2>
200  , If_< IsColumnVector<T2>
202  , Failure >
203  , If_< IsColumnVector<T2>
205  , Failure > >
206  , If_< IsNumeric<T2>
208  , Failure > > >
209  , If_< IsMatrix<T2>
210  , If_< IsDenseMatrix<T2>
211  , If_< IsRowMajorMatrix<T2>
214  , If_< IsRowMajorMatrix<T2>
217  , If_< IsVector<T2>
218  , If_< IsDenseVector<T2>
219  , If_< IsColumnVector<T2>
221  , Failure >
222  , If_< IsColumnVector<T2>
224  , Failure > >
225  , If_< IsNumeric<T2>
227  , Failure > > > > >
231  , If_< IsMatrix<T2>
232  , If_< IsDenseMatrix<T2>
233  , If_< IsRowMajorMatrix<T2>
236  , If_< IsRowMajorMatrix<T2>
239  , If_< IsVector<T2>
240  , If_< IsDenseVector<T2>
244  , If_< IsRowVector<T2>
247  , If_< IsNumeric<T2>
249  , Failure > > >
250  , If_< IsVector<T2>
251  , If_< IsDenseVector<T2>
252  , If_< IsRowVector<T2>
255  , If_< IsRowVector<T2>
258  , If_< IsNumeric<T2>
260  , Failure > > >
261  , If_< IsRowVector<T1>
262  , If_< IsMatrix<T2>
263  , If_< IsDenseMatrix<T2>
264  , If_< IsRowMajorMatrix<T2>
267  , If_< IsRowMajorMatrix<T2>
270  , If_< IsVector<T2>
271  , If_< IsDenseVector<T2>
272  , If_< IsRowVector<T2>
275  , If_< IsRowVector<T2>
278  , If_< IsNumeric<T2>
280  , Failure > > >
281  , If_< IsVector<T2>
282  , If_< IsDenseVector<T2>
283  , If_< IsRowVector<T2>
286  , If_< IsRowVector<T2>
289  , If_< IsNumeric<T2>
291  , Failure > > > >
293  , If_< IsMatrix<T2>
294  , If_< IsDenseMatrix<T2>
295  , If_< IsRowMajorMatrix<T2>
298  , If_< IsRowMajorMatrix<T2>
301  , If_< IsVector<T2>
302  , If_< IsDenseVector<T2>
303  , If_< IsRowVector<T2>
306  , If_< IsRowVector<T2>
309  , If_< IsNumeric<T2>
311  , Failure > > >
312  , Failure > > >;
314  //**********************************************************************************************
315 
316  public:
317  //**********************************************************************************************
319  using Type = typename If_< Or< IsConst<T1>, IsVolatile<T1>, IsReference<T1>
322  , Tmp >::Type;
324  //**********************************************************************************************
325 };
326 //*************************************************************************************************
327 
328 
329 //*************************************************************************************************
342 template< typename T1 // Type of the left-hand side multiplication operand
343  , typename T2 > // Type of the right-hand side multiplication operand
345 //*************************************************************************************************
346 
347 } // namespace blaze
348 
349 #endif
Evaluation of the expression type of a transpose sparse matrix/scalar multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse matrix/scalar multiplication. Given the column-major sparse matrix type MT and the scalar type ST, the nested type Type corresponds to the resulting expression type. In case either MT is not a column-major sparse matrix type or ST is not a scalar type, the resulting Type is set to INVALID_TYPE.
Definition: TSMatScalarMultExprTrait.h:126
Evaluation of the expression type of a transpose sparse matrix/transpose sparse matrix multiplication...
Definition: TSMatTSMatMultExprTrait.h:77
Evaluation of the expression type of a sparse vector/transpose sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse vector/transpose sparse vector multiplication (outer product). Given the non-transpose sparse vector type VT1 and the transpose sparse vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a non-transpose sparse vector type or VT2 is not a transpose sparse vector type, the resulting Type is set to INVALID_TYPE.
Definition: SVecTSVecMultExprTrait.h:78
Evaluation of the expression type of a sparse vector/dense vector multiplication.Via this type trait ...
Definition: SVecDVecMultExprTrait.h:78
Header file for the SMatDVecMultExprTrait class template.
Evaluation of the expression type of a transpose dense matrix/transpose sparse matrix multiplication...
Definition: TDMatTSMatMultExprTrait.h:79
Evaluation of the expression type of a transpose dense vector/scalar multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense vector/scalar multiplication. Given the transpose dense vector type VT and the scalar type ST, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose dense vector type or ST is not a scalar type, the resulting Type is set to INVALID_TYPE.
Definition: TDVecScalarMultExprTrait.h:126
Header file for the DVecTDVecMultExprTrait class template.
Evaluation of the expression type of a sparse vector/scalar multiplication.Via this type trait it is ...
Definition: SVecScalarMultExprTrait.h:126
Evaluation of the expression type of a transpose dense vector/transpose sparse vector multiplication...
Definition: TDVecTSVecMultExprTrait.h:78
Header file for the TDMatSMatMultExprTrait class template.
Compile time check for volatile data types.The IsVolatile type trait tests whether or not the given t...
Definition: IsVolatile.h:75
Header file for the TDMatTDMatMultExprTrait class template.
Header file for the TSVecTDVecMultExprTrait class template.
Evaluation of the expression type of a dense vector/scalar multiplication.Via this type trait it is p...
Definition: DVecScalarMultExprTrait.h:126
Header file for the TSMatSMatMultExprTrait class template.
Evaluation of the expression type of a dense matrix/transpose sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a dense matrix/ transpose sparse matrix multiplication. Given the row-major dense matrix type MT1 and the column-major sparse matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a row-major dense matrix type or MT2 is not a column-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: DMatTSMatMultExprTrait.h:78
typename Decay< T >::Type Decay_
Auxiliary alias declaration for the Decay type trait.The Decay_ alias declaration provides a convenie...
Definition: Decay.h:98
Header file for the DMatSMatMultExprTrait class template.
Header file for the TSVecTSMatMultExprTrait class template.
Header file for the IsRowVector type trait.
Header file for the TDVecScalarMultExprTrait class template.
Header file for the DVecScalarMultExprTrait class template.
Evaluation of the expression type of a sparse matrix/transpose dense matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse matrix/transpose dense matrix multiplication. Given the row-major sparse matrix type MT1 and the column-major dense matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a row-major sparse matrix type or MT2 is not a column-major dense matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: SMatTDMatMultExprTrait.h:79
Header file for the TDMatScalarMultExprTrait class template.
Header file for the TDVecSMatMultExprTrait class template.
Header file for the DMatScalarMultExprTrait class template.
Header file for the SMatSMatMultExprTrait class template.
Evaluation of the expression type of a sparse vector/transpose dense matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse vector/transpose dense matrix multiplication. Given the transpose sparse vector type VT and the column-major dense matrix type MT, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose sparse vector type or MT is not a column-major dense matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSVecTDMatMultExprTrait.h:81
Evaluation of the expression type of a dense matrix/dense vector multiplication.Via this type trait i...
Definition: DMatDVecMultExprTrait.h:78
Header file for the SMatTSMatMultExprTrait class template.
Header file for the TSVecSMatMultExprTrait class template.
Evaluation of the expression type of a transpose dense vector/transpose dense vector multiplication...
Definition: TDVecTDVecMultExprTrait.h:77
Header file for the TDVecSVecMultExprTrait class template.
Evaluation of the expression type of a sparse matrix/dense vector multiplication.Via this type trait ...
Definition: SMatDVecMultExprTrait.h:78
Evaluation of the expression type of a sparse vector/transpose dense vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse vector/transpose dense vector multiplication (outer product). Given the non-transpose sparse vector type VT1 and the transpose dense vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a non-transpose sparse vector type or VT2 is not a transpose dense vector type, the resulting Type is set to INVALID_TYPE.
Definition: SVecTDVecMultExprTrait.h:79
Evaluation of the expression type of a transpose sparse matrix/transpose dense matrix multiplication...
Definition: TSMatTDMatMultExprTrait.h:79
Header file for the IsVolatile type trait.
Header file for the TSVecDVecMultExprTrait class template.
Header file for the IsMatrix type trait.
Header file for the DMatTDMatMultExprTrait class template.
Header file for the SVecTDVecMultExprTrait class template.
Header file for the Decay type trait.
Evaluation of the expression type of a transpose dense matrix/sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense matrix/sparse matrix multiplication. Given the column-major dense matrix type MT1 and the row-major sparse matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a column-major dense matrix type or MT2 is not a row-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TDMatSMatMultExprTrait.h:79
Header file for the DVecDVecMultExprTrait class template.
typename MultExprTrait< T1, T2 >::Type MultExprTrait_
Auxiliary alias declaration for the MultExprTrait class template.The MultExprTrait_ alias declaration...
Definition: MultExprTrait.h:344
Header file for the SVecSVecMultExprTrait class template.
Header file for the TDVecTSVecMultExprTrait class template.
Evaluation of the expression type of a transpose sparse matrix/sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse matrix/sparse matrix multiplication. Given the column-major sparse matrix type MT1 and the row-major sparse matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a column-major sparse matrix type or MT2 is not a row-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSMatSMatMultExprTrait.h:78
Header file for the multiplication trait.
Header file for the DMatTSMatMultExprTrait class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the If class template.
Evaluation of the expression type of a dense vector/transpose sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a dense vector/transpose sparse matrix multiplication. Given the transpose dense vector type VT and the column-major sparse matrix type MT, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose dense vector type or MT is not a column-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TDVecTSMatMultExprTrait.h:79
Header file for the TSVecTDMatMultExprTrait class template.
Header file for the Or class template.
Header file for the TDMatSVecMultExprTrait class template.
Header file for the TDVecTSMatMultExprTrait class template.
Header file for the TSMatDVecMultExprTrait class template.
Header file for the TSMatTSMatMultExprTrait class template.
Evaluation of the expression type of a transpose sparse vector/sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse vector/sparse vector multiplication (inner product). Given the transpose sparse vector type VT1 and the non-transpose sparse vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a transpose sparse vector type or VT2 is not a non-transpose sparse vector type, the resulting Type is set to INVALID_TYPE.
Definition: TSVecSVecMultExprTrait.h:113
Evaluation of the expression type of a dense matrix/sparse vector multiplication.Via this type trait ...
Definition: DMatSVecMultExprTrait.h:80
Evaluation of the expression type of a transpose sparse vector/scalar multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse vector/scalar multiplication. Given the transpose sparse vector type VT and the scalar type ST, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose sparse vector type or ST is not a scalar type, the resulting Type is set to INVALID_TYPE.
Definition: TSVecScalarMultExprTrait.h:126
Evaluation of the expression type of a transpose dense vector/sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense vector/sparse vector multiplication (inner product). Given the transpose dense vector type VT1 and the non-transpose sparse vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a transpose dense vector type or VT2 is not a non-transpose sparse vector type, the resulting Type is set to INVALID_TYPE.
Definition: TDVecSVecMultExprTrait.h:114
Evaluation of the expression type of a transpose dense matrix/transpose dense matrix multiplication...
Definition: TDMatTDMatMultExprTrait.h:77
Header file for the DMatDVecMultExprTrait class template.
Evaluation of the expression type of a transpose sparse vector/dense vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse vector/dense vector multiplication (inner product). Given the transpose sparse vector type VT1 and the non-transpose dense vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a transpose sparse vector type or VT2 is not a non-transpose dense vector type, the resulting Type is set to INVALID_TYPE.
Definition: TSVecDVecMultExprTrait.h:114
Evaluation of the expression type of a sparse matrix/sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse matrix/sparse matrix multiplication. Given the two row-major sparse matrix types MT1 and MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 or MT2 is not a row-major sparse matrix, the resulting data type Type is set to INVALID_TYPE.
Definition: SMatSMatMultExprTrait.h:76
Evaluation of the expression type of a sparse matrix/sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse matrix/sparse vector multiplication. Given the row-major sparse matrix type MT and the non-transpose sparse vector type VT, the nested type Type corresponds to the resulting expression type. In case either MT is not a row-major sparse matrix type or VT is not a non-transpose sparse vector type, the resulting data type Type is set to INVALID_TYPE.
Definition: SMatSVecMultExprTrait.h:80
Evaluation of the expression type of a dense vector/sparse matrix multiplication.Via this type trait ...
Definition: TDVecSMatMultExprTrait.h:80
Header file for the SMatSVecMultExprTrait class template.
Evaluation of the expression type of a sparse vector/sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse vector/sparse matrix multiplication. Given the transpose sparse vector type VT and the row-major sparse matrix type MT, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose sparse vector type or MT is not a row-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSVecSMatMultExprTrait.h:78
Evaluation of the expression type of a transpose dense vector/dense vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense vector/dense vector multiplication (inner product). Given the transpose dense vector type VT1 and the non-transpose dense vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a transpose dense vector type or VT2 is not a non-transpose dense vector type, the resulting Type is set to INVALID_TYPE.
Definition: TDVecDVecMultExprTrait.h:113
Evaluation of the expression type of a dense matrix/sparse matrix multiplication.Via this type trait ...
Definition: DMatSMatMultExprTrait.h:78
Evaluation of the expression type of a dense matrix/scalar multiplication.Via this type trait it is p...
Definition: DMatScalarMultExprTrait.h:126
Header file for the DVecTSVecMultExprTrait class template.
Evaluation of the expression type of a transpose sparse vector/transpose sparse vector multiplication...
Definition: TSVecTSVecMultExprTrait.h:77
Header file for the TSVecScalarMultExprTrait class template.
Header file for the SVecScalarMultExprTrait class template.
Header file for the TSMatScalarMultExprTrait class template.
Header file for the IsVector type trait.
Header file for the TDMatTSMatMultExprTrait class template.
Header file for the IsDenseMatrix type trait.
Header file for the SMatScalarMultExprTrait class template.
Evaluation of the expression type of a transpose dense matrix/scalar multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense matrix/scalar multiplication. Given the column-major dense matrix type MT and the scalar type ST, the nested type Type corresponds to the resulting expression type. In case either MT is not a column-major dense matrix type or ST is not a scalar type, the resulting Type is set to INVALID_TYPE.
Definition: TDMatScalarMultExprTrait.h:126
Evaluation of the expression type of a transpose sparse matrix/sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse matrix/sparse vector multiplication. Given the column-major sparse matrix type MT and the non-transpose sparse vector type VT, the nested type Type corresponds to the resulting expression type. In case either MT is not a column-major sparse matrix type or VT is not a non-transpose sparse vector type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSMatSVecMultExprTrait.h:79
Header file for the IsNumeric type trait.
Evaluation of the expression type of a transpose dense matrix/sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense matrix/sparse vector multiplication. Given the column-major dense matrix type MT and the non-transpose sparse vector type VT, the nested type Type corresponds to the resulting expression type. In case either MT is not a column-major dense matrix type or VT is not a non-transpose sparse vector type, the resulting data type Type is set to INVALID_TYPE.
Definition: TDMatSVecMultExprTrait.h:79
Header file for the IsConst type trait.
Utility type for generic codes.
Base template for the MultTrait class.
Definition: MultTrait.h:143
Header file for the TSVecTSVecMultExprTrait class template.
Header file for the TSMatTDMatMultExprTrait class template.
Evaluation of the expression type of a sparse matrix/transpose sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse matrix/transpose sparse matrix multiplication. Given the row-major sparse matrix type MT1 and the column-major sparse matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a row-major sparse matrix type or MT2 is not a column-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: SMatTSMatMultExprTrait.h:78
typename If< T1, T2, T3 >::Type If_
Auxiliary alias declaration for the If class template.The If_ alias declaration provides a convenient...
Definition: If.h:160
Header file for the DMatDMatMultExprTrait class template.
Header file for the TDVecDVecMultExprTrait class template.
Header file for the TDMatDMatMultExprTrait class template.
Header file for the SMatDMatMultExprTrait class template.
Evaluation of the expression type of a sparse matrix/scalar multiplication.Via this type trait it is ...
Definition: SMatScalarMultExprTrait.h:126
Header file for the DVecSVecMultExprTrait class template.
Header file for the IsReference type trait.
Evaluation of the expression type of a dense vector/transpose sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a dense vector/transpose sparse vector multiplication (outer product). Given the non-transpose dense vector type VT1 and the transpose sparse vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a non-transpose dense vector type or VT2 is not a transpose sparse vector type, the resulting Type is set to INVALID_TYPE.
Definition: DVecTSVecMultExprTrait.h:79
Header file for the TSMatDMatMultExprTrait class template.
Compile time check for constant data types.The IsConst type trait tests whether or not the given temp...
Definition: IsConst.h:75
Header file for the IsDenseVector type trait.
Evaluation of the expression type of a dense vector/dense matrix multiplication.Via this type trait i...
Definition: TDVecDMatMultExprTrait.h:78
Header file for the TSVecSVecMultExprTrait class template.
Evaluation of the expression type of a sparse vector/dense matrix multiplication.Via this type trait ...
Definition: TSVecDMatMultExprTrait.h:78
Evaluation of the expression type of a dense vector/transpose dense vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a dense vector/transpose dense vector multiplication (outer product). Given the non-transpose dense vector type VT1 and the transpose dense vector type VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 is not a non-transpose dense vector type or VT2 is not a transpose dense vector type, the resulting Type is set to INVALID_TYPE.
Definition: DVecTDVecMultExprTrait.h:78
Evaluation of the expression type of a dense vector/transpose dense matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a dense vector/transpose dense matrix multiplication. Given the transpose dense vector type VT and the column-major dense matrix type MT, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose dense vector type or MT is not a column-major dense matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TDVecTDMatMultExprTrait.h:79
Evaluation of the expression type of a transpose dense matrix/dense matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense matrix/dense matrix multiplication. Given the column-major dense matrix type MT1 and the row-major dense matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a column-major dense matrix type or MT2 is not a row-major dense matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TDMatDMatMultExprTrait.h:78
Header file for the IsRowMajorMatrix type trait.
Evaluation of the expression type of a dense vector/sparse vector multiplication.Via this type trait ...
Definition: DVecSVecMultExprTrait.h:77
Evaluation of the expression type of a transpose sparse matrix/dense vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse matrix/dense vector multiplication. Given the column-major sparse matrix type MT and the non-transpose dense vector type VT, the nested type Type corresponds to the resulting expression type. In case either MT is not a column-major sparse matrix type or VT is not a non-transpose dense vector type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSMatDVecMultExprTrait.h:81
Header file for the SVecTSVecMultExprTrait class template.
Evaluation of the expression type of a transpose sparse matrix/dense matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose sparse matrix/dense matrix multiplication. Given the column-major sparse matrix type MT1 and the row-major dense matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a column-major sparse matrix type or MT2 is not a row-major dense matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSMatDMatMultExprTrait.h:79
Header file for the TDVecDMatMultExprTrait class template.
Evaluation of the expression type of a transpose sparse vector/transpose dense vector multiplication...
Definition: TSVecTDVecMultExprTrait.h:78
Header file for the TDMatDVecMultExprTrait class template.
Evaluation of the expression type of a transpose dense matrix/dense vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a transpose dense matrix/dense vector multiplication. Given the column-major dense matrix type MT and the non-transpose dense vector type VT, the nested type Type corresponds to the resulting expression type. In case either MT is not a column-major dense matrix type or VT is not a non-transpose dense vector type, the resulting data type Type is set to INVALID_TYPE.
Definition: TDMatDVecMultExprTrait.h:79
Header file for the TDVecTDVecMultExprTrait class template.
Header file for the SMatTDMatMultExprTrait class template.
Evaluation of the expression type of a sparse vector/sparse vector multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse vector/sparse vector multiplication. Given the two non-transpose sparse vector types VT1 and VT2, the nested type Type corresponds to the resulting expression type. In case either VT1 or VT2 is not a non-transpose sparse vector type, the resulting Type is set to INVALID_TYPE.
Definition: SVecSVecMultExprTrait.h:76
Compile time type check.This class tests whether the given template parameter T is a reference type (...
Definition: IsReference.h:75
Header file for the SVecDVecMultExprTrait class template.
Header file for the TSVecDMatMultExprTrait class template.
Evaluation of the expression type of a dense matrix/transpose dense matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a dense matrix/transpose dense matrix multiplication. Given the row-major dense matrix type MT1 and the column-major dense matrix type MT2, the nested type Type corresponds to the resulting expression type. In case either MT1 is not a row-major dense matrix type or MT2 is not a column-major dense matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: DMatTDMatMultExprTrait.h:78
Header file for the DMatSVecMultExprTrait class template.
Header file for the IsColumnVector type trait.
Evaluation of the resulting expression type of a multiplication.Via this type trait it is possible to...
Definition: MultExprTrait.h:137
Evaluation of the expression type of a sparse vector/transpose sparse matrix multiplication.Via this type trait it is possible to evaluate the resulting expression type of a sparse vector/transpose sparse matrix multiplication. Given the transpose sparse vector type VT and the column-major sparse matrix type MT, the nested type Type corresponds to the resulting expression type. In case either VT is not a transpose sparse vector type or MT is not a column-major sparse matrix type, the resulting data type Type is set to INVALID_TYPE.
Definition: TSVecTSMatMultExprTrait.h:81
Header file for the TDVecTDMatMultExprTrait class template.
Evaluation of the expression type of a sparse matrix/dense matrix multiplication.Via this type trait ...
Definition: SMatDMatMultExprTrait.h:77
Header file for the TSMatSVecMultExprTrait class template.
Evaluation of the expression type of a dense vector/dense vector multiplication.Via this type trait i...
Definition: DVecDVecMultExprTrait.h:76
Evaluation of the expression type of a dense matrix/dense matrix multiplication.Via this type trait i...
Definition: DMatDMatMultExprTrait.h:76