Forward.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_EXPRESSIONS_FORWARD_H_
36 #define _BLAZE_MATH_EXPRESSIONS_FORWARD_H_
37 
38 
39 namespace blaze {
40 
41 //=================================================================================================
42 //
43 // ::blaze NAMESPACE FORWARD DECLARATIONS
44 //
45 //=================================================================================================
46 
47 template< typename, bool > struct DenseMatrix;
48 template< typename, bool > struct DenseVector;
49 template< typename, bool > class DMatAbsExpr;
50 template< typename, bool > class DMatConjExpr;
51 template< typename, typename, bool > class DMatDMatAddExpr;
52 template< typename, typename > class DMatDMatMultExpr;
53 template< typename, typename, bool > class DMatDMatSubExpr;
54 template< typename, typename > class DMatDVecMultExpr;
55 template< typename, bool > class DMatEvalExpr;
56 template< typename, bool > class DMatImagExpr;
57 template< typename, bool > class DMatInvExpr;
58 template< typename, bool > class DMatRealExpr;
59 template< typename, typename, bool > class DMatScalarDivExpr;
60 template< typename, typename, bool > class DMatScalarMultExpr;
61 template< typename, bool > class DMatSerialExpr;
62 template< typename, typename, bool > class DMatSMatAddExpr;
63 template< typename, typename > class DMatSMatMultExpr;
64 template< typename, typename, bool > class DMatSMatSubExpr;
65 template< typename, typename > class DMatSVecMultExpr;
66 template< typename, typename > class DMatTDMatAddExpr;
67 template< typename, typename > class DMatTDMatMultExpr;
68 template< typename, typename > class DMatTDMatSubExpr;
69 template< typename, bool > class DMatTransExpr;
70 template< typename, bool > class DMatTransposer;
71 template< typename, typename > class DMatTSMatAddExpr;
72 template< typename, typename > class DMatTSMatMultExpr;
73 template< typename, typename > class DMatTSMatSubExpr;
74 template< typename, bool > class DVecAbsExpr;
75 template< typename, bool > class DVecConjExpr;
76 template< typename, typename, bool > class DVecDVecAddExpr;
77 template< typename, typename > class DVecDVecCrossExpr;
78 template< typename, typename, bool > class DVecDVecMultExpr;
79 template< typename, typename, bool > class DVecDVecSubExpr;
80 template< typename, bool > class DVecEvalExpr;
81 template< typename, bool > class DVecImagExpr;
82 template< typename, bool > class DVecRealExpr;
83 template< typename, typename, bool > class DVecScalarDivExpr;
84 template< typename, typename, bool > class DVecScalarMultExpr;
85 template< typename, bool > class DVecSerialExpr;
86 template< typename, typename, bool > class DVecSVecAddExpr;
87 template< typename, typename > class DVecSVecCrossExpr;
88 template< typename, typename, bool > class DVecSVecMultExpr;
89 template< typename, typename, bool > class DVecSVecSubExpr;
90 template< typename, typename > class DVecTDVecMultExpr;
91 template< typename, bool > class DVecTransExpr;
92 template< typename, bool > class DVecTransposer;
93 template< typename, typename > class DVecTSVecMultExpr;
94 template< typename, bool > struct Matrix;
95 template< typename, bool > class SMatAbsExpr;
96 template< typename, bool > class SMatConjExpr;
97 template< typename, typename > class SMatDMatMultExpr;
98 template< typename, typename, bool > class SMatDMatSubExpr;
99 template< typename, typename > class SMatDVecMultExpr;
100 template< typename, bool > class SMatEvalExpr;
101 template< typename, bool > class SMatImagExpr;
102 template< typename, bool > class SMatRealExpr;
103 template< typename, typename, bool > class SMatScalarDivExpr;
104 template< typename, typename, bool > class SMatScalarMultExpr;
105 template< typename, bool > class SMatSerialExpr;
106 template< typename, typename > class SMatSMatAddExpr;
107 template< typename, typename > class SMatSMatMultExpr;
108 template< typename, typename > class SMatSMatSubExpr;
109 template< typename, typename > class SMatSVecMultExpr;
110 template< typename, typename > class SMatTDMatMultExpr;
111 template< typename, typename > class SMatTDMatSubExpr;
112 template< typename, bool > class SMatTransExpr;
113 template< typename, bool > class SMatTransposer;
114 template< typename, typename > class SMatTSMatAddExpr;
115 template< typename, typename > class SMatTSMatMultExpr;
116 template< typename, typename > class SMatTSMatSubExpr;
117 template< typename, bool > struct SparseMatrix;
118 template< typename, bool > struct SparseVector;
119 template< typename, bool > class SVecAbsExpr;
120 template< typename, bool > class SVecConjExpr;
121 template< typename, typename > class SVecDVecCrossExpr;
122 template< typename, typename, bool > class SVecDVecMultExpr;
123 template< typename, typename, bool > class SVecDVecSubExpr;
124 template< typename, bool > class SVecEvalExpr;
125 template< typename, bool > class SVecImagExpr;
126 template< typename, bool > class SVecRealExpr;
127 template< typename, typename, bool > class SVecScalarDivExpr;
128 template< typename, typename, bool > class SVecScalarMultExpr;
129 template< typename, bool > class SVecSerialExpr;
130 template< typename, typename, bool > class SVecSVecAddExpr;
131 template< typename, typename > class SVecSVecCrossExpr;
132 template< typename, typename, bool > class SVecSVecMultExpr;
133 template< typename, typename, bool > class SVecSVecSubExpr;
134 template< typename, typename > class SVecTDVecMultExpr;
135 template< typename, bool > class SVecTransExpr;
136 template< typename, bool > class SVecTransposer;
137 template< typename, typename > class SVecTSVecMultExpr;
138 template< typename, typename > class TDMatDMatMultExpr;
139 template< typename, typename > class TDMatDVecMultExpr;
140 template< typename, typename > class TDMatSMatAddExpr;
141 template< typename, typename > class TDMatSMatMultExpr;
142 template< typename, typename > class TDMatSMatSubExpr;
143 template< typename, typename > class TDMatSVecMultExpr;
144 template< typename, typename > class TDMatTDMatMultExpr;
145 template< typename, typename > class TDMatTSMatMultExpr;
146 template< typename, typename > class TDVecDMatMultExpr;
147 template< typename, typename > class TDVecSMatMultExpr;
148 template< typename, typename > class TDVecTDMatMultExpr;
149 template< typename, typename > class TDVecTSMatMultExpr;
150 template< typename, typename > class TSMatDMatMultExpr;
151 template< typename, typename > class TSMatDMatSubExpr;
152 template< typename, typename > class TSMatDVecMultExpr;
153 template< typename, typename > class TSMatSMatMultExpr;
154 template< typename, typename > class TSMatSMatSubExpr;
155 template< typename, typename > class TSMatSVecMultExpr;
156 template< typename, typename > class TSMatTDMatMultExpr;
157 template< typename, typename > class TSMatTSMatAddExpr;
158 template< typename, typename > class TSMatTSMatMultExpr;
159 template< typename, typename > class TSMatTSMatSubExpr;
160 template< typename, typename > class TSVecDMatMultExpr;
161 template< typename, typename > class TSVecSMatMultExpr;
162 template< typename, typename > class TSVecTDMatMultExpr;
163 template< typename, typename > class TSVecTSMatMultExpr;
164 template< typename, bool > struct Vector;
165 
166 template< typename VT, bool TF >
167 inline const DVecTransExpr<VT,!TF> trans( const DenseVector<VT,TF>& );
168 
169 template< typename VT, bool TF >
170 inline const SVecTransExpr<VT,!TF> trans( const SparseVector<VT,TF>& );
171 
172 template< typename MT, bool SO >
173 inline const DMatTransExpr<MT,!SO> trans( const DenseMatrix<MT,SO>& );
174 
175 template< typename MT, bool SO >
176 inline const SMatTransExpr<MT,!SO> trans( const SparseMatrix<MT,SO>& );
177 
178 template< typename VT, bool TF >
179 inline const DVecSerialExpr<VT,TF> serial( const DenseVector<VT,TF>& );
180 
181 template< typename VT, bool TF >
182 inline const SVecSerialExpr<VT,TF> serial( const SparseVector<VT,TF>& );
183 
184 template< typename MT, bool SO >
185 inline const DMatSerialExpr<MT,SO> serial( const DenseMatrix<MT,SO>& );
186 
187 template< typename MT, bool SO >
188 inline const SMatSerialExpr<MT,SO> serial( const SparseMatrix<MT,SO>& );
189 
190 } // namespace blaze
191 
192 #endif
Expression object for the sparse matrix conj() function.The SMatConjExpr class represents the compile...
Definition: Forward.h:96
Expression object for the forced serial evaluation of dense vectors.The DVecSerialExpr class represen...
Definition: DVecSerialExpr.h:86
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:148
Expression object for sparse vector-dense vector subtractions.The SVecDVecSubExpr class represents th...
Definition: Forward.h:123
Expression object for transpose sparse matrix-dense vector multiplications.The TSMatDVecMultExpr clas...
Definition: Forward.h:152
Expression object for the sparse vector conj() function.The SVecConjExpr class represents the compile...
Definition: Forward.h:120
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:156
Expression object for transpose dense vector-sparse matrix multiplications.The TDVecSMatMultExpr clas...
Definition: Forward.h:147
Expression object for transpose sparse vector-dense matrix multiplications.The TSVecDMatMultExpr clas...
Definition: Forward.h:160
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:145
Expression object for dense matrix transpositions.The DMatTransExpr class represents the compile time...
Definition: DMatTransExpr.h:105
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:149
Expression object for sparse matrix-dense vector multiplications.The SMatDVecMultExpr class represent...
Definition: Forward.h:99
Expression object for sparse vector-dense vector cross products.The SVecDVecCrossExpr class represent...
Definition: Forward.h:121
Expression object for sparse vector-dense vector outer products.The SVecTDVecMultExpr class represent...
Definition: Forward.h:134
Expression object for the forced evaluation of sparse vectors.The SVecEvalExpr class represents the c...
Definition: Forward.h:124
Expression object for sparse vector transpositions.The SVecTransExpr class represents the compile tim...
Definition: Forward.h:135
const DMatSerialExpr< MT, SO > serial(const DenseMatrix< MT, SO > &dm)
Forces the serial evaluation of the given dense matrix expression dm.
Definition: DMatSerialExpr.h:721
Expression object for sparse matrix-dense matrix multiplications.The SMatDMatMultExpr class represent...
Definition: Forward.h:97
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:144
Expression object for transpose dense matrix-sparse matrix multiplications.The TDMatSMatMultExpr clas...
Definition: Forward.h:141
Expression object for the sparse vector abs() function.The SVecAbsExpr class represents the compile t...
Definition: Forward.h:119
Base class for dense matrices.The DenseMatrix class is a base class for all dense matrix classes...
Definition: DenseMatrix.h:70
Base class for sparse matrices.The SparseMatrix class is a base class for all sparse matrix classes...
Definition: Forward.h:117
Expression object for transpose dense matrix-dense vector multiplications.The TDMatDVecMultExpr class...
Definition: Forward.h:139
Expression object for sparse vector-sparse vector additions.The SVecSVecAddExpr class represents the ...
Definition: Forward.h:130
Expression object for transpose dense matrix-dense matrix multiplications.The TDMatDMatMultExpr class...
Definition: Forward.h:138
Expression object for sparse matrix-transpose sparse matrix multiplications.The SMatTSMatMultExpr cla...
Definition: Forward.h:115
Expression object for sparse matrix-dense matrix subtractions.The SMatDMatSubExpr class represents th...
Definition: Forward.h:98
Expression object for the sparse vector imag() function.The SVecImagExpr class represents the compile...
Definition: Forward.h:125
Expression object for sparse matrix-transpose dense matrix subtractions.The SMatTDMatSubExpr class re...
Definition: Forward.h:111
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Expression object for sparse matrix-sparse vector multiplications.The TSMatSVecMultExpr class represe...
Definition: Forward.h:155
Expression object for sparse matrix-sparse vector multiplications.The SMatSVecMultExpr class represen...
Definition: Forward.h:109
Expression object for sparse vector-sparse vector subtractions.The SVecSVecSubExpr class represents t...
Definition: Forward.h:133
Expression object for the forced serial evaluation of dense matrices.The DMatSerialExpr class represe...
Definition: DMatSerialExpr.h:98
Expression object for transpose sparse matrix-transpose sparse matrix additions.The TSMatTSMatAddExpr...
Definition: Forward.h:157
Expression object for sparse vector-sparse matrix multiplications.The TSVecSMatMultExpr class represe...
Definition: Forward.h:161
Expression object for sparse vector-sparse matrix multiplications.The TSVecTSMatMultExpr class repres...
Definition: Forward.h:163
Expression object for sparse matrix-transpose sparse matrix subtractions.The SMatTSMatSubExpr class r...
Definition: Forward.h:116
Expression object for the transposition of a sparse vector.The SVecTransposer class is a wrapper obje...
Definition: Forward.h:136
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:158
Base class for N-dimensional dense vectors.The DenseVector class is a base class for all arbitrarily ...
Definition: DenseVector.h:70
Expression object for the sparse vector real() function.The SVecRealExpr class represents the compile...
Definition: Forward.h:126
Expression object for sparse vector-sparse vector outer products.The SVecTSVecMultExpr class represen...
Definition: Forward.h:137
Expression object for sparse matrix-transpose dense matrix multiplications.The SMatTDMatMultExpr clas...
Definition: Forward.h:110
Expression object for sparse matrix-scalar multiplications.The SMatScalarMult class represents the co...
Definition: Forward.h:104
Expression object for the forced serial evaluation of sparse vectors.The SVecSerialExpr class represe...
Definition: Forward.h:129
Expression object for transpose dense matrix-sparse vector multiplications.The TDMatSVecMultExpr clas...
Definition: Forward.h:143
Expression object for the transposition of a sparse matrix.The SMatTransposer class is a wrapper obje...
Definition: Forward.h:113
Expression object for sparse matrix-sparse matrix multiplications.The SMatSMatMultExpr class represen...
Definition: Forward.h:107
Expression object for sparse vector-sparse vector multiplications.The SVecSVecMultExpr class represen...
Definition: Forward.h:132
Expression object for sparse matrix-sparse matrix subtractions.The SMatSMatSubExpr class represents t...
Definition: Forward.h:108
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:159
Expression object for sparse matrix-scalar divisions.The SMatScalarMult class represents the compile ...
Definition: Forward.h:103
Expression object for transpose sparse matrix-dense matrix subtractions.The TSMatDMatSubExpr class re...
Definition: Forward.h:151
Expression object for the sparse matrix real() function.The SMatRealExpr class represents the compile...
Definition: Forward.h:102
Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes with...
Definition: Forward.h:94
Expression object for transpose dense vector-dense matrix multiplications.The TDVecDMatMultExpr class...
Definition: Forward.h:146
Expression object for divisions of a sparse vector by a scalar.The SVecScalarDivExpr class represents...
Definition: Forward.h:127
Expression object for transpose sparse matrix-sparse matrix multiplications.The TSMatSMatMultExpr cla...
Definition: Forward.h:153
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:162
Expression object for sparse matrix-transpose sparse matrix additions.The SMatTSMatAddExpr class repr...
Definition: Forward.h:114
Base class for N-dimensional vectors.The Vector class is a base class for all arbitrarily sized (N-di...
Definition: Forward.h:164
const DMatTransExpr< MT,!SO > trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:944
Expression object for sparse matrix-sparse matrix additions.The SMatSMatAddExpr class represents the ...
Definition: Forward.h:106
Expression object for transpose sparse matrix-dense matrix multiplications.The TSMatDMatMultExpr clas...
Definition: Forward.h:150
Expression object for sparse vector-scalar multiplications.The SVecScalarMultExpr class represents th...
Definition: Forward.h:128
Expression object for dense matrix-sparse matrix additions.The TDMatSMatAddExpr class represents the ...
Definition: Forward.h:140
Base class for sparse vectors.The SparseVector class is a base class for all arbitrarily sized (N-dim...
Definition: Forward.h:118
Expression object for sparse matrix transpositions.The SMatTransExpr class represents the compile tim...
Definition: Forward.h:112
Expression object for the forced evaluation of sparse matrices.The SMatEvalExpr class represents the ...
Definition: Forward.h:100
Expression object for the sparse matrix abs() function.The SMatAbsExpr class represents the compile t...
Definition: Forward.h:95
Expression object for dense vector transpositions.The DVecTransExpr class represents the compile time...
Definition: DVecTransExpr.h:95
Expression object for the sparse matrix imag() function.The SMatImagExpr class represents the compile...
Definition: Forward.h:101
Expression object for transpose sparse matrix-sparse matrix subtractions.The TSMatSMatSubExpr class r...
Definition: Forward.h:154
Expression object for the forced serial evaluation of sparse matrices.The SMatSerialExpr class repres...
Definition: Forward.h:105
Expression object for transpose dense matrix-sparse matrix subtractions.The TDMatSMatSubExpr class re...
Definition: Forward.h:142
Expression object for sparse vector-sparse vector cross products.The SVecSVecCrossExpr class represen...
Definition: Forward.h:131
Expression object for sparse vector-dense vector multiplications.The SVecDVecMultExpr class represent...
Definition: Forward.h:122