35 #ifndef _BLAZE_MATH_EXPRESSIONS_FORWARD_H_ 36 #define _BLAZE_MATH_EXPRESSIONS_FORWARD_H_ 47 template<
typename,
bool >
struct DenseMatrix;
48 template<
typename,
bool >
struct DenseVector;
49 template<
typename,
bool >
class DMatDeclDiagExpr;
50 template<
typename,
bool >
class DMatDeclHermExpr;
51 template<
typename,
bool >
class DMatDeclLowExpr;
52 template<
typename,
bool >
class DMatDeclSymExpr;
53 template<
typename,
bool >
class DMatDeclUppExpr;
54 template<
typename,
typename,
bool >
class DMatDMatAddExpr;
55 template<
typename,
typename,
typename,
bool >
class DMatDMatMapExpr;
56 template<
typename,
typename,
bool,
bool,
bool,
bool >
class DMatDMatMultExpr;
57 template<
typename,
typename,
bool >
class DMatDMatSchurExpr;
58 template<
typename,
typename,
bool >
class DMatDMatSubExpr;
59 template<
typename,
typename >
class DMatDVecMultExpr;
60 template<
typename,
bool >
class DMatEvalExpr;
61 template<
typename,
typename,
bool >
class DMatMapExpr;
62 template<
typename,
bool >
class DMatInvExpr;
63 template<
typename,
typename,
bool >
class DMatScalarDivExpr;
64 template<
typename,
typename,
bool >
class DMatScalarMultExpr;
65 template<
typename,
bool >
class DMatSerialExpr;
66 template<
typename,
typename,
bool >
class DMatSMatAddExpr;
67 template<
typename,
typename,
bool,
bool,
bool,
bool >
class DMatSMatMultExpr;
68 template<
typename,
typename >
class DMatSMatSchurExpr;
69 template<
typename,
typename,
bool >
class DMatSMatSubExpr;
70 template<
typename,
typename >
class DMatSVecMultExpr;
71 template<
typename,
typename >
class DMatTDMatAddExpr;
72 template<
typename,
typename,
typename >
class DMatTDMatMapExpr;
73 template<
typename,
typename,
bool,
bool,
bool,
bool >
class DMatTDMatMultExpr;
74 template<
typename,
typename >
class DMatTDMatSchurExpr;
75 template<
typename,
typename >
class DMatTDMatSubExpr;
76 template<
typename,
bool >
class DMatTransExpr;
77 template<
typename,
bool >
class DMatTransposer;
78 template<
typename,
typename >
class DMatTSMatAddExpr;
79 template<
typename,
typename,
bool,
bool,
bool,
bool >
class DMatTSMatMultExpr;
80 template<
typename,
typename >
class DMatTSMatSchurExpr;
81 template<
typename,
typename >
class DMatTSMatSubExpr;
82 template<
typename,
typename,
bool >
class DVecDVecAddExpr;
83 template<
typename,
typename,
bool >
class DVecDVecCrossExpr;
84 template<
typename,
typename,
bool >
class DVecDVecDivExpr;
85 template<
typename,
typename,
typename,
bool >
class DVecDVecMapExpr;
86 template<
typename,
typename,
bool >
class DVecDVecMultExpr;
87 template<
typename,
typename >
class DVecDVecOuterExpr;
88 template<
typename,
typename,
bool >
class DVecDVecSubExpr;
89 template<
typename,
bool >
class DVecEvalExpr;
90 template<
typename,
typename,
bool >
class DVecMapExpr;
91 template<
typename,
typename,
bool >
class DVecScalarDivExpr;
92 template<
typename,
typename,
bool >
class DVecScalarMultExpr;
93 template<
typename,
bool >
class DVecSerialExpr;
94 template<
typename,
typename,
bool >
class DVecSVecAddExpr;
95 template<
typename,
typename,
bool >
class DVecSVecCrossExpr;
96 template<
typename,
typename,
bool >
class DVecSVecMultExpr;
97 template<
typename,
typename >
class DVecSVecOuterExpr;
98 template<
typename,
typename,
bool >
class DVecSVecSubExpr;
99 template<
typename,
bool >
class DVecTransExpr;
100 template<
typename,
bool >
class DVecTransposer;
101 template<
typename,
bool >
struct Matrix;
177 template<
typename,
bool >
struct Vector;
180 template<
typename VT1,
typename VT2,
bool TF >
183 template< typename VT1, typename VT2,
bool TF >
186 template< typename VT1, typename VT2,
bool TF >
189 template< typename VT1, typename VT2,
bool TF >
192 template< typename MT1, typename MT2,
bool SO >
195 template< typename MT1, typename MT2 >
198 template< typename MT1, typename MT2 >
201 template< typename MT1, typename MT2,
bool SO >
204 template< typename MT1, typename MT2 >
207 template< typename MT1, typename MT2 >
210 template< typename MT1, typename MT2,
bool SO >
213 template< typename MT1, typename MT2 >
216 template< typename MT1, typename MT2 >
219 template< typename MT1, typename MT2 >
222 template< typename MT1, typename MT2 >
225 template< typename MT1, typename MT2 >
228 template< typename MT1, typename MT2 >
232 template< typename MT1, typename MT2,
bool SO >
235 template< typename MT1, typename MT2 >
238 template< typename MT1, typename MT2 >
241 template< typename MT1, typename MT2,
bool SO >
244 template< typename MT1, typename MT2 >
247 template< typename MT1, typename MT2 >
250 template< typename MT1, typename MT2,
bool SO >
253 template< typename MT1, typename MT2 >
256 template< typename MT1, typename MT2 >
259 template< typename MT1, typename MT2 >
262 template< typename MT1, typename MT2 >
265 template< typename MT1, typename MT2 >
268 template< typename MT1, typename MT2 >
272 template< typename VT1, typename VT2,
bool TF >
275 template< typename VT1, typename VT2 >
278 template< typename VT1, typename VT2 >
281 template< typename VT1, typename VT2,
bool TF >
284 template< typename VT1, typename VT2 >
287 template< typename VT1, typename VT2 >
290 template< typename VT1, typename VT2,
bool TF >
293 template< typename VT1, typename VT2 >
296 template< typename VT1, typename VT2 >
299 template< typename VT1, typename VT2,
bool TF >
302 template< typename VT1, typename VT2 >
305 template< typename VT1, typename VT2 >
308 template< typename MT, typename VT >
311 template< typename MT, typename VT >
314 template< typename MT, typename VT >
317 template< typename MT, typename VT >
320 template< typename MT, typename VT >
323 template< typename MT, typename VT >
326 template< typename MT, typename VT >
329 template< typename MT, typename VT >
332 template< typename VT, typename MT >
335 template< typename VT, typename MT >
338 template< typename VT, typename MT >
341 template< typename VT, typename MT >
344 template< typename VT, typename MT >
347 template< typename VT, typename MT >
350 template< typename VT, typename MT >
353 template< typename VT, typename MT >
356 template< typename MT1, typename MT2 >
359 template< typename MT1, typename MT2 >
362 template< typename MT1, typename MT2 >
365 template< typename MT1, typename MT2 >
368 template< typename MT1, typename MT2 >
371 template< typename MT1, typename MT2 >
374 template< typename MT1, typename MT2 >
377 template< typename MT1, typename MT2 >
380 template< typename MT1, typename MT2 >
383 template< typename MT1, typename MT2 >
386 template< typename MT1, typename MT2 >
389 template< typename MT1, typename MT2 >
392 template< typename MT1, typename MT2 >
395 template< typename MT1, typename MT2 >
398 template< typename MT1, typename MT2 >
401 template< typename MT1, typename MT2 >
405 template< typename VT1, typename VT2,
bool TF >
408 template< typename VT1, typename VT2,
bool TF >
412 template< typename VT1, typename VT2,
bool TF >
415 template< typename VT1, typename VT2,
bool TF >
418 template< typename VT1, typename VT2,
bool TF >
421 template< typename VT1, typename VT2,
bool TF >
425 template< typename MT1, typename MT2,
bool SO >
428 template< typename MT1, typename MT2 >
431 template< typename MT1, typename MT2 >
434 template< typename MT1, typename MT2 >
437 template< typename MT1, typename MT2 >
440 template< typename MT1, typename MT2 >
443 template< typename MT1, typename MT2 >
446 template< typename MT1, typename MT2 >
449 template< typename MT1, typename MT2 >
452 template< typename MT1, typename MT2 >
455 template< typename MT1, typename MT2 >
458 template< typename MT1, typename MT2 >
461 template< typename MT1, typename MT2 >
464 template< typename MT1, typename MT2 >
467 template< typename MT1, typename MT2 >
471 template< typename VT,
bool TF >
474 template< typename VT,
bool TF >
477 template< typename MT,
bool SO >
480 template< typename MT,
bool SO >
484 template<
bool TTF, typename VT,
bool TF >
487 template<
bool TTF, typename VT,
bool TF >
491 template< typename VT,
bool TF >
494 template< typename VT,
bool TF >
497 template< typename MT,
bool SO >
500 template< typename MT,
bool SO >
504 template< typename VT,
bool TF >
507 template< typename VT,
bool TF >
510 template< typename MT,
bool SO >
513 template< typename MT,
bool SO >
517 template< typename MT,
bool SO >
521 template< typename VT,
bool TF, typename OP >
524 template< typename VT,
bool TF, typename OP >
527 template< typename MT,
bool SO, typename OP >
530 template< typename MT,
bool SO, typename OP >
533 template< typename VT1, typename VT2,
bool TF, typename OP >
536 template< typename MT1, typename MT2,
bool SO, typename OP >
539 template< typename MT1, typename MT2, typename OP >
542 template< typename MT1, typename MT2, typename OP >
546 template< typename MT,
bool SO >
549 template< typename MT,
bool SO >
553 template< typename MT,
bool SO >
556 template< typename MT,
bool SO >
560 template< typename MT,
bool SO >
563 template< typename MT,
bool SO >
567 template< typename MT,
bool SO >
570 template< typename MT,
bool SO >
574 template< typename MT,
bool SO >
577 template< typename MT,
bool SO >
Expression object for transpose dense vector-transpose dense matrix multiplications.The TDVecTDMatMultExpr class represents the compile time expression for multiplications between transpose dense vectors and column-major dense matrices.
Definition: Forward.h:158
decltype(auto) decldiag(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as diagonal.
Definition: DMatDeclDiagExpr.h:996
Expression object for sparse vector-dense vector subtractions.The SVecDVecSubExpr class represents th...
Definition: Forward.h:135
Expression object for transpose sparse matrix-dense vector multiplications.The TSMatDVecMultExpr clas...
Definition: Forward.h:163
Expression object for transpose sparse matrix-dense matrix Schur product.The TSMatDMatSchurExpr class...
Definition: Forward.h:161
Expression object for transpose sparse matrix-transpose dense matrix multiplications.The TSMatTDMatMultExpr class represents the compile time expression for multiplications between a column-major sparse matrix and a column-major dense matrix.
Definition: Forward.h:168
Expression object for sparse vector-sparse vector outer products.The SVecSVecOuterExpr class represen...
Definition: Forward.h:144
Expression object for transpose dense vector-sparse matrix multiplications.The TDVecSMatMultExpr clas...
Definition: Forward.h:157
Expression object for transpose sparse vector-dense matrix multiplications.The TSVecDMatMultExpr clas...
Definition: Forward.h:173
Expression object for transpose dense matrix-transpose sparse matrix multiplications.The TDMatTSMatMultExpr class represents the compile time expression for multiplications between a column-major dense matrix and a column-major sparse matrix.
Definition: Forward.h:155
Expression object for transpose dense vector-transpose sparse matrix multiplications.The TDVecTSMatMultExpr class represents the compile time expression for multiplications between transpose dense vectors and column-major sparse matrices.
Definition: Forward.h:159
Expression object for sparse matrix-dense vector multiplications.The SMatDVecMultExpr class represent...
Definition: Forward.h:110
Expression object for sparse vector-dense vector cross products.The SVecDVecCrossExpr class represent...
Definition: Forward.h:131
Expression object for the explicit diagonal declaration of sparse matrices.The SMatDeclDiagExpr class...
Definition: Forward.h:102
Expression object for the forced evaluation of sparse vectors.The SVecEvalExpr class represents the c...
Definition: Forward.h:136
Expression object for the explicit lower declaration of sparse matrices.The SMatDeclLowExpr class rep...
Definition: Forward.h:104
decltype(auto) declupp(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as upper.
Definition: DMatDeclUppExpr.h:1026
Expression object for sparse vector transpositions.The SVecTransExpr class represents the compile tim...
Definition: Forward.h:146
Expression object for sparse matrix-dense matrix multiplications.The SMatDMatMultExpr class represent...
Definition: Forward.h:107
Expression object for transpose dense matrix-transpose dense matrix multiplications.The TDMatTDMatMultExpr class represents the compile time expression for multiplications between two column-major dense matrices.
Definition: Forward.h:154
Expression object for transpose sparse matrix-transpose sparse matrix Schur product.The TSMatTSMatSchurExpr class represents the compile time expression for Schur products between two column-major sparse matrices.
Definition: Forward.h:171
Expression object for transpose dense matrix-sparse matrix multiplications.The TDMatSMatMultExpr clas...
Definition: Forward.h:151
Expression object for the sparse matrix map() function.The SMatMapExpr class represents the compile t...
Definition: Forward.h:112
Base class for dense matrices.The DenseMatrix class is a base class for all dense matrix classes...
Definition: DenseMatrix.h:80
Base class for sparse matrices.The SparseMatrix class is a base class for all sparse matrix classes...
Definition: Forward.h:129
Expression object for transpose dense matrix-dense vector multiplications.The TDMatDVecMultExpr class...
Definition: Forward.h:149
Expression object for sparse vector-sparse vector additions.The SVecSVecAddExpr class represents the ...
Definition: Forward.h:141
Expression object for transpose dense matrix-dense matrix multiplications.The TDMatDMatMultExpr class...
Definition: Forward.h:148
Expression object for sparse matrix-transpose sparse matrix multiplications.The SMatTSMatMultExpr cla...
Definition: Forward.h:126
Expression object for sparse matrix-dense matrix subtractions.The SMatDMatSubExpr class represents th...
Definition: Forward.h:109
Expression object for sparse matrix-transpose dense matrix subtractions.The SMatTDMatSubExpr class re...
Definition: Forward.h:122
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Expression object for sparse matrix-sparse vector multiplications.The TSMatSVecMultExpr class represe...
Definition: Forward.h:167
Expression object for sparse matrix-sparse vector multiplications.The SMatSVecMultExpr class represen...
Definition: Forward.h:120
Expression object for sparse vector-sparse vector subtractions.The SVecSVecSubExpr class represents t...
Definition: Forward.h:145
Expression object for sparse vector-dense vector divisions.The SVecDVecDivExpr class represents the c...
Definition: Forward.h:132
Expression object for transpose sparse matrix-transpose sparse matrix additions.The TSMatTSMatAddExpr...
Definition: Forward.h:169
Expression object for sparse vector-sparse matrix multiplications.The TSVecSMatMultExpr class represe...
Definition: Forward.h:174
Expression object for sparse vector-sparse matrix multiplications.The TSVecTSMatMultExpr class repres...
Definition: Forward.h:176
Expression object for sparse matrix-transpose sparse matrix subtractions.The SMatTSMatSubExpr class r...
Definition: Forward.h:128
decltype(auto) inv(const DenseMatrix< MT, SO > &dm)
Calculation of the inverse of the given dense matrix.
Definition: DMatInvExpr.h:423
Expression object for the transposition of a sparse vector.The SVecTransposer class is a wrapper obje...
Definition: Forward.h:147
Expression object for transpose sparse matrix-transpose sparse matrix multiplications.The TSMatTSMatMultExpr class represents the compile time expression for multiplications between two column-major sparse matrices.
Definition: Forward.h:170
Base class for N-dimensional dense vectors.The DenseVector class is a base class for all arbitrarily ...
Definition: DenseVector.h:76
decltype(auto) decllow(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as lower.
Definition: DMatDeclLowExpr.h:1026
decltype(auto) transTo(const DenseVector< VT, TF > &dv)
Conditional calculation of the transpose of the given dense vector.
Definition: DVecTransExpr.h:798
Expression object for sparse matrix-transpose dense matrix multiplications.The SMatTDMatMultExpr clas...
Definition: Forward.h:121
decltype(auto) eval(const DenseMatrix< MT, SO > &dm)
Forces the evaluation of the given dense matrix expression dm.
Definition: DMatEvalExpr.h:794
Expression object for the sparse vector map() function.The SVecMapExpr class represents the compile t...
Definition: Forward.h:137
Expression object for sparse matrix-transpose sparse matrix Schur product.The SMatTSMatSchurExpr clas...
Definition: Forward.h:127
Expression object for sparse matrix-scalar multiplications.The SMatScalarMult class represents the co...
Definition: Forward.h:114
Expression object for the forced serial evaluation of sparse vectors.The SVecSerialExpr class represe...
Definition: Forward.h:140
Expression object for sparse matrix-sparse matrix Schur product.The SMatSMatSchurExpr class represent...
Definition: Forward.h:118
Expression object for transpose dense matrix-sparse vector multiplications.The TDMatSVecMultExpr clas...
Definition: Forward.h:153
Expression object for the transposition of a sparse matrix.The SMatTransposer class is a wrapper obje...
Definition: Forward.h:124
Expression object for sparse vector-dense vector outer products.The SVecDVecOuterExpr class represent...
Definition: Forward.h:134
Expression object for sparse matrix-sparse matrix multiplications.The SMatSMatMultExpr class represen...
Definition: Forward.h:117
Expression object for sparse vector-sparse vector multiplications.The SVecSVecMultExpr class represen...
Definition: Forward.h:143
Expression object for sparse matrix-sparse matrix subtractions.The SMatSMatSubExpr class represents t...
Definition: Forward.h:119
Expression object for transpose sparse matrix-transpose sparse matrix subtractions.The TSMatTSMatSubExpr class represents the compile time expression for subtractions between two column-major sparse matrices.
Definition: Forward.h:172
Expression object for sparse matrix-scalar divisions.The SMatScalarMult class represents the compile ...
Definition: Forward.h:113
Expression object for transpose sparse matrix-dense matrix subtractions.The TSMatDMatSubExpr class re...
Definition: Forward.h:162
decltype(auto) declsym(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as symmetric.
Definition: DMatDeclSymExpr.h:1028
Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes with...
Definition: Forward.h:101
Expression object for transpose dense vector-dense matrix multiplications.The TDVecDMatMultExpr class...
Definition: Forward.h:156
decltype(auto) serial(const DenseMatrix< MT, SO > &dm)
Forces the serial evaluation of the given dense matrix expression dm.
Definition: DMatSerialExpr.h:816
Expression object for divisions of a sparse vector by a scalar.The SVecScalarDivExpr class represents...
Definition: Forward.h:138
Expression object for the explicit Hermitian declaration of sparse matrices.The SMatDeclHermExpr clas...
Definition: Forward.h:103
Expression object for transpose sparse matrix-sparse matrix multiplications.The TSMatSMatMultExpr cla...
Definition: Forward.h:164
Expression object for transpose sparse vector-transpose dense matrix multiplications.The TSVecTDMatMultExpr class represents the compile time expression for multiplications between transpose sparse vectors and column-major dense matrices.
Definition: Forward.h:175
Expression object for sparse matrix-transpose sparse matrix additions.The SMatTSMatAddExpr class repr...
Definition: Forward.h:125
decltype(auto) trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:789
decltype(auto) declherm(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as Hermitian.
Definition: DMatDeclHermExpr.h:1028
Expression object for the explicit symmetry declaration of sparse matrices.The SMatDeclSymExpr class ...
Definition: Forward.h:105
Base class for N-dimensional vectors.The Vector class is a base class for all arbitrarily sized (N-di...
Definition: Forward.h:177
Expression object for sparse matrix-sparse matrix additions.The SMatSMatAddExpr class represents the ...
Definition: Forward.h:116
Expression object for transpose sparse matrix-dense matrix multiplications.The TSMatDMatMultExpr clas...
Definition: Forward.h:160
Expression object for sparse vector-scalar multiplications.The SVecScalarMultExpr class represents th...
Definition: Forward.h:139
Expression object for dense matrix-sparse matrix additions.The TDMatSMatAddExpr class represents the ...
Definition: Forward.h:150
Expression object for the explicit upper declaration of sparse matrices.The SMatDeclUppExpr class rep...
Definition: Forward.h:106
Base class for sparse vectors.The SparseVector class is a base class for all arbitrarily sized (N-dim...
Definition: Forward.h:130
Expression object for sparse matrix transpositions.The SMatTransExpr class represents the compile tim...
Definition: Forward.h:123
Expression object for the forced evaluation of sparse matrices.The SMatEvalExpr class represents the ...
Definition: Forward.h:111
Expression object for transpose sparse matrix-sparse matrix subtractions.The TSMatSMatSubExpr class r...
Definition: Forward.h:166
Expression object for the forced serial evaluation of sparse matrices.The SMatSerialExpr class repres...
Definition: Forward.h:115
Expression object for sparse matrix-dense matrix Schur product.The SMatDMatSchurExpr class represents...
Definition: Forward.h:108
Expression object for transpose dense matrix-sparse matrix subtractions.The TDMatSMatSubExpr class re...
Definition: Forward.h:152
Expression object for sparse vector-sparse vector cross products.The SVecSVecCrossExpr class represen...
Definition: Forward.h:142
Expression object for transpose sparse matrix-sparse matrix Schur products.The TSMatSMatSchurExpr cla...
Definition: Forward.h:165
decltype(auto) map(const DenseMatrix< MT1, SO > &lhs, const DenseMatrix< MT2, SO > &rhs, OP op)
Evaluates the given binary operation on each single element of the dense matrices lhs and rhs...
Definition: DMatDMatMapExpr.h:1134
Expression object for sparse vector-dense vector multiplications.The SVecDVecMultExpr class represent...
Definition: Forward.h:133