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 
106 #include <blaze/util/InvalidType.h>
107 #include <blaze/util/mpl/If.h>
108 #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 { typedef INVALID_TYPE Type; };
144  //**********************************************************************************************
145 
146  //**********************************************************************************************
148  typedef typename If< IsMatrix<T1>
149  , typename If< IsDenseMatrix<T1>
150  , typename If< IsRowMajorMatrix<T1>
151  , typename If< IsMatrix<T2>
152  , typename If< IsDenseMatrix<T2>
153  , typename If< IsRowMajorMatrix<T2>
156  >::Type
157  , typename If< IsRowMajorMatrix<T2>
160  >::Type
161  >::Type
162  , typename If< IsVector<T2>
163  , typename If< IsDenseVector<T2>
164  , typename If< IsColumnVector<T2>
166  , Failure
167  >::Type
168  , typename If< IsColumnVector<T2>
170  , Failure
171  >::Type
172  >::Type
173  , typename If< IsNumeric<T2>
175  , Failure
176  >::Type
177  >::Type
178  >::Type
179  , typename If< IsMatrix<T2>
180  , typename If< IsDenseMatrix<T2>
181  , typename If< IsRowMajorMatrix<T2>
184  >::Type
185  , typename If< IsRowMajorMatrix<T2>
188  >::Type
189  >::Type
190  , typename If< IsVector<T2>
191  , typename If< IsDenseVector<T2>
192  , typename If< IsColumnVector<T2>
194  , Failure
195  >::Type
196  , typename If< IsColumnVector<T2>
198  , Failure
199  >::Type
200  >::Type
201  , typename If< IsNumeric<T2>
203  , Failure
204  >::Type
205  >::Type
206  >::Type
207  >::Type
208  , typename If< IsRowMajorMatrix<T1>
209  , typename If< IsMatrix<T2>
210  , typename If< IsDenseMatrix<T2>
211  , typename If< IsRowMajorMatrix<T2>
214  >::Type
215  , typename If< IsRowMajorMatrix<T2>
218  >::Type
219  >::Type
220  , typename If< IsVector<T2>
221  , typename If< IsDenseVector<T2>
222  , typename If< IsColumnVector<T2>
224  , Failure
225  >::Type
226  , typename If< IsColumnVector<T2>
228  , Failure
229  >::Type
230  >::Type
231  , typename If< IsNumeric<T2>
233  , Failure
234  >::Type
235  >::Type
236  >::Type
237  , typename If< IsMatrix<T2>
238  , typename If< IsDenseMatrix<T2>
239  , typename If< IsRowMajorMatrix<T2>
242  >::Type
243  , typename If< IsRowMajorMatrix<T2>
246  >::Type
247  >::Type
248  , typename If< IsVector<T2>
249  , typename If< IsDenseVector<T2>
250  , typename If< IsColumnVector<T2>
252  , Failure
253  >::Type
254  , typename If< IsColumnVector<T2>
256  , Failure
257  >::Type
258  >::Type
259  , typename If< IsNumeric<T2>
261  , Failure
262  >::Type
263  >::Type
264  >::Type
265  >::Type
266  >::Type
267  , typename If< IsVector<T1>
268  , typename If< IsDenseVector<T1>
269  , typename If< IsRowVector<T1>
270  , typename If< IsMatrix<T2>
271  , typename If< IsDenseMatrix<T2>
272  , typename If< IsRowMajorMatrix<T2>
275  >::Type
276  , typename If< IsRowMajorMatrix<T2>
279  >::Type
280  >::Type
281  , typename If< IsVector<T2>
282  , typename If< IsDenseVector<T2>
283  , typename If< IsRowVector<T2>
286  >::Type
287  , typename If< IsRowVector<T2>
290  >::Type
291  >::Type
292  , typename If< IsNumeric<T2>
294  , Failure
295  >::Type
296  >::Type
297  >::Type
298  , typename If< IsVector<T2>
299  , typename If< IsDenseVector<T2>
300  , typename If< IsRowVector<T2>
303  >::Type
304  , typename If< IsRowVector<T2>
307  >::Type
308  >::Type
309  , typename If< IsNumeric<T2>
311  , Failure
312  >::Type
313  >::Type
314  >::Type
315  , typename If< IsRowVector<T1>
316  , typename If< IsMatrix<T2>
317  , typename If< IsDenseMatrix<T2>
318  , typename If< IsRowMajorMatrix<T2>
321  >::Type
322  , typename If< IsRowMajorMatrix<T2>
325  >::Type
326  >::Type
327  , typename If< IsVector<T2>
328  , typename If< IsDenseVector<T2>
329  , typename If< IsRowVector<T2>
332  >::Type
333  , typename If< IsRowVector<T2>
336  >::Type
337  >::Type
338  , typename If< IsNumeric<T2>
340  , Failure
341  >::Type
342  >::Type
343  >::Type
344  , typename If< IsVector<T2>
345  , typename If< IsDenseVector<T2>
346  , typename If< IsRowVector<T2>
349  >::Type
350  , typename If< IsRowVector<T2>
353  >::Type
354  >::Type
355  , typename If< IsNumeric<T2>
357  , Failure
358  >::Type
359  >::Type
360  >::Type
361  >::Type
362  , typename If< IsNumeric<T1>
363  , typename If< IsMatrix<T2>
364  , typename If< IsDenseMatrix<T2>
365  , typename If< IsRowMajorMatrix<T2>
368  >::Type
369  , typename If< IsRowMajorMatrix<T2>
372  >::Type
373  >::Type
374  , typename If< IsVector<T2>
375  , typename If< IsDenseVector<T2>
376  , typename If< IsRowVector<T2>
379  >::Type
380  , typename If< IsRowVector<T2>
383  >::Type
384  >::Type
385  , typename If< IsNumeric<T2>
387  , Failure
388  >::Type
389  >::Type
390  >::Type
391  , Failure
392  >::Type
393  >::Type
394  >::Type Tmp;
395 
396  typedef typename RemoveReference< typename RemoveCV<T1>::Type >::Type Type1;
397  typedef typename RemoveReference< typename RemoveCV<T2>::Type >::Type Type2;
399  //**********************************************************************************************
400 
401  public:
402  //**********************************************************************************************
406  , MultExprTrait<Type1,Type2>, Tmp >::Type::Type Type;
408  //**********************************************************************************************
409 };
410 //*************************************************************************************************
411 
412 } // namespace blaze
413 
414 #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:129
Evaluation of the expression type of a transpose sparse matrix/transpose sparse matrix multiplication...
Definition: TSMatTSMatMultExprTrait.h:78
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:79
Evaluation of the expression type of a sparse vector/dense vector multiplication.Via this type trait ...
Definition: SVecDVecMultExprTrait.h:79
Header file for the SMatDVecMultExprTrait class template.
Evaluation of the expression type of a transpose dense matrix/transpose sparse matrix multiplication...
Definition: TDMatTSMatMultExprTrait.h:80
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:129
Compile time type selection.The If class template selects one of the two given types T2 and T3 depend...
Definition: If.h:112
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:129
Evaluation of the expression type of a transpose dense vector/transpose sparse vector multiplication...
Definition: TDVecTSVecMultExprTrait.h:79
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:94
Header file for the TDMatTDMatMultExprTrait class template.
Header file for the TSVecTDVecMultExprTrait class template.
Header file for the RemoveCV type trait.
Evaluation of the expression type of a dense vector/scalar multiplication.Via this type trait it is p...
Definition: DVecScalarMultExprTrait.h:129
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:79
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:80
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:82
Evaluation of the expression type of a dense matrix/dense vector multiplication.Via this type trait i...
Definition: DMatDVecMultExprTrait.h:79
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:78
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:79
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:80
Evaluation of the expression type of a transpose sparse matrix/transpose dense matrix multiplication...
Definition: TSMatTDMatMultExprTrait.h:80
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.
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:80
Header file for the DVecDVecMultExprTrait class template.
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:79
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:80
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:114
Evaluation of the expression type of a dense matrix/sparse vector multiplication.Via this type trait ...
Definition: DMatSVecMultExprTrait.h:81
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:129
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:115
Evaluation of the expression type of a transpose dense matrix/transpose dense matrix multiplication...
Definition: TDMatTDMatMultExprTrait.h:78
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:115
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:77
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:81
Evaluation of the expression type of a dense vector/sparse matrix multiplication.Via this type trait ...
Definition: TDVecSMatMultExprTrait.h:81
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:79
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:114
Evaluation of the expression type of a dense matrix/sparse matrix multiplication.Via this type trait ...
Definition: DMatSMatMultExprTrait.h:79
Evaluation of the expression type of a dense matrix/scalar multiplication.Via this type trait it is p...
Definition: DMatScalarMultExprTrait.h:129
Header file for the DVecTSVecMultExprTrait class template.
Evaluation of the expression type of a transpose sparse vector/transpose sparse vector multiplication...
Definition: TSVecTSVecMultExprTrait.h:78
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:129
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:80
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:80
Removal of reference modifiers.The RemoveCV type trait removes any reference modifiers from the given...
Definition: RemoveReference.h:69
Header file for the IsConst type trait.
Utility type for generic codes.
Base template for the MultTrait class.
Definition: MultTrait.h:138
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:79
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:129
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:80
Header file for the TSMatDMatMultExprTrait class template.
Header file for the RemoveReference type trait.
Compile time check for constant data types.The IsConst type trait tests whether or not the given temp...
Definition: IsConst.h:94
Evaluation of the expression type of a dense vector/dense matrix multiplication.Via this type trait i...
Definition: TDVecDMatMultExprTrait.h:79
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:79
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:79
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:80
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:79
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:78
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:82
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:80
Header file for the TDVecDMatMultExprTrait class template.
Evaluation of the expression type of a transpose sparse vector/transpose dense vector multiplication...
Definition: TSVecTDVecMultExprTrait.h:79
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:80
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:77
Compile time type check.This class tests whether the given template parameter T is a reference type (...
Definition: IsReference.h:94
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:79
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:82
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:78
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:77
Evaluation of the expression type of a dense matrix/dense matrix multiplication.Via this type trait i...
Definition: DMatDMatMultExprTrait.h:77