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 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;
102 template< typename, bool > class SMatDeclDiagExpr;
103 template< typename, bool > class SMatDeclHermExpr;
104 template< typename, bool > class SMatDeclLowExpr;
105 template< typename, bool > class SMatDeclSymExpr;
106 template< typename, bool > class SMatDeclUppExpr;
107 template< typename, typename, bool, bool, bool, bool > class SMatDMatMultExpr;
108 template< typename, typename > class SMatDMatSchurExpr;
109 template< typename, typename, bool > class SMatDMatSubExpr;
110 template< typename, typename > class SMatDVecMultExpr;
111 template< typename, bool > class SMatEvalExpr;
112 template< typename, typename, bool > class SMatMapExpr;
113 template< typename, typename, bool > class SMatScalarDivExpr;
114 template< typename, typename, bool > class SMatScalarMultExpr;
115 template< typename, bool > class SMatSerialExpr;
116 template< typename, typename > class SMatSMatAddExpr;
117 template< typename, typename > class SMatSMatMultExpr;
118 template< typename, typename > class SMatSMatSchurExpr;
119 template< typename, typename > class SMatSMatSubExpr;
120 template< typename, typename > class SMatSVecMultExpr;
121 template< typename, typename, bool, bool, bool, bool > class SMatTDMatMultExpr;
122 template< typename, typename > class SMatTDMatSubExpr;
123 template< typename, bool > class SMatTransExpr;
124 template< typename, bool > class SMatTransposer;
125 template< typename, typename > class SMatTSMatAddExpr;
126 template< typename, typename > class SMatTSMatMultExpr;
127 template< typename, typename > class SMatTSMatSchurExpr;
128 template< typename, typename > class SMatTSMatSubExpr;
129 template< typename, bool > struct SparseMatrix;
130 template< typename, bool > struct SparseVector;
131 template< typename, typename, bool > class SVecDVecCrossExpr;
132 template< typename, typename, bool > class SVecDVecDivExpr;
133 template< typename, typename, bool > class SVecDVecMultExpr;
134 template< typename, typename > class SVecDVecOuterExpr;
135 template< typename, typename, bool > class SVecDVecSubExpr;
136 template< typename, bool > class SVecEvalExpr;
137 template< typename, typename, bool > class SVecMapExpr;
138 template< typename, typename, bool > class SVecScalarDivExpr;
139 template< typename, typename, bool > class SVecScalarMultExpr;
140 template< typename, bool > class SVecSerialExpr;
141 template< typename, typename, bool > class SVecSVecAddExpr;
142 template< typename, typename, bool > class SVecSVecCrossExpr;
143 template< typename, typename, bool > class SVecSVecMultExpr;
144 template< typename, typename > class SVecSVecOuterExpr;
145 template< typename, typename, bool > class SVecSVecSubExpr;
146 template< typename, bool > class SVecTransExpr;
147 template< typename, bool > class SVecTransposer;
148 template< typename, typename, bool, bool, bool, bool > class TDMatDMatMultExpr;
149 template< typename, typename > class TDMatDVecMultExpr;
150 template< typename, typename > class TDMatSMatAddExpr;
151 template< typename, typename, bool, bool, bool, bool > class TDMatSMatMultExpr;
152 template< typename, typename > class TDMatSMatSubExpr;
153 template< typename, typename > class TDMatSVecMultExpr;
154 template< typename, typename, bool, bool, bool, bool > class TDMatTDMatMultExpr;
155 template< typename, typename, bool, bool, bool, bool > class TDMatTSMatMultExpr;
156 template< typename, typename > class TDVecDMatMultExpr;
157 template< typename, typename > class TDVecSMatMultExpr;
158 template< typename, typename > class TDVecTDMatMultExpr;
159 template< typename, typename > class TDVecTSMatMultExpr;
160 template< typename, typename, bool, bool, bool, bool > class TSMatDMatMultExpr;
161 template< typename, typename > class TSMatDMatSchurExpr;
162 template< typename, typename > class TSMatDMatSubExpr;
163 template< typename, typename > class TSMatDVecMultExpr;
164 template< typename, typename > class TSMatSMatMultExpr;
165 template< typename, typename > class TSMatSMatSchurExpr;
166 template< typename, typename > class TSMatSMatSubExpr;
167 template< typename, typename > class TSMatSVecMultExpr;
168 template< typename, typename, bool, bool, bool, bool > class TSMatTDMatMultExpr;
169 template< typename, typename > class TSMatTSMatAddExpr;
170 template< typename, typename > class TSMatTSMatMultExpr;
171 template< typename, typename > class TSMatTSMatSchurExpr;
172 template< typename, typename > class TSMatTSMatSubExpr;
173 template< typename, typename > class TSVecDMatMultExpr;
174 template< typename, typename > class TSVecSMatMultExpr;
175 template< typename, typename > class TSVecTDMatMultExpr;
176 template< typename, typename > class TSVecTSMatMultExpr;
177 template< typename, bool > struct Vector;
178 
179 
180 template< typename VT1, typename VT2, bool TF >
181 decltype(auto) operator+( const DenseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
182 
183 template< typename VT1, typename VT2, bool TF >
184 decltype(auto) operator+( const DenseVector<VT1,TF>&, const SparseVector<VT2,TF>& );
185 
186 template< typename VT1, typename VT2, bool TF >
187 decltype(auto) operator+( const SparseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
188 
189 template< typename VT1, typename VT2, bool TF >
190 decltype(auto) operator+( const SparseVector<VT1,TF>&, const SparseVector<VT2,TF>& );
191 
192 template< typename MT1, typename MT2, bool SO >
193 decltype(auto) operator+( const DenseMatrix<MT1,SO>&, const DenseMatrix<MT2,SO>& );
194 
195 template< typename MT1, typename MT2 >
196 decltype(auto) operator+( const DenseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
197 
198 template< typename MT1, typename MT2 >
199 decltype(auto) operator+( const DenseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
200 
201 template< typename MT1, typename MT2, bool SO >
202 decltype(auto) operator+( const DenseMatrix<MT1,SO>&, const SparseMatrix<MT2,SO>& );
203 
204 template< typename MT1, typename MT2 >
205 decltype(auto) operator+( const DenseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
206 
207 template< typename MT1, typename MT2 >
208 decltype(auto) operator+( const DenseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
209 
210 template< typename MT1, typename MT2, bool SO >
211 decltype(auto) operator+( const SparseMatrix<MT1,SO>&, const DenseMatrix<MT2,SO>& );
212 
213 template< typename MT1, typename MT2 >
214 decltype(auto) operator+( const SparseMatrix<MT2,false>&, const DenseMatrix<MT1,true>& );
215 
216 template< typename MT1, typename MT2 >
217 decltype(auto) operator+( const SparseMatrix<MT2,true>&, const DenseMatrix<MT1,false>& );
218 
219 template< typename MT1, typename MT2 >
220 decltype(auto) operator+( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,false>& );
221 
222 template< typename MT1, typename MT2 >
223 decltype(auto) operator+( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
224 
225 template< typename MT1, typename MT2 >
226 decltype(auto) operator+( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
227 
228 template< typename MT1, typename MT2 >
229 decltype(auto) operator+( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,true>& );
230 
231 
232 template< typename MT1, typename MT2, bool SO >
233 decltype(auto) operator-( const DenseMatrix<MT1,SO>&, const DenseMatrix<MT2,SO>& );
234 
235 template< typename MT1, typename MT2 >
236 decltype(auto) operator-( const DenseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
237 
238 template< typename MT1, typename MT2 >
239 decltype(auto) operator-( const DenseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
240 
241 template< typename MT1, typename MT2, bool SO >
242 decltype(auto) operator-( const DenseMatrix<MT1,SO>&, const SparseMatrix<MT2,SO>& );
243 
244 template< typename MT1, typename MT2 >
245 decltype(auto) operator-( const DenseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
246 
247 template< typename MT1, typename MT2 >
248 decltype(auto) operator-( const DenseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
249 
250 template< typename MT1, typename MT2, bool SO >
251 decltype(auto) operator-( const SparseMatrix<MT1,SO>&, const DenseMatrix<MT2,SO>& );
252 
253 template< typename MT1, typename MT2 >
254 decltype(auto) operator-( const SparseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
255 
256 template< typename MT1, typename MT2 >
257 decltype(auto) operator-( const SparseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
258 
259 template< typename MT1, typename MT2 >
260 decltype(auto) operator-( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,false>& );
261 
262 template< typename MT1, typename MT2 >
263 decltype(auto) operator-( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
264 
265 template< typename MT1, typename MT2 >
266 decltype(auto) operator-( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
267 
268 template< typename MT1, typename MT2 >
269 decltype(auto) operator-( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,true>& );
270 
271 
272 template< typename VT1, typename VT2, bool TF >
273 decltype(auto) operator*( const DenseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
274 
275 template< typename VT1, typename VT2 >
276 decltype(auto) operator*( const DenseVector<VT1,true>&, const DenseVector<VT2,false>& );
277 
278 template< typename VT1, typename VT2 >
279 decltype(auto) operator*( const DenseVector<VT1,false>&, const DenseVector<VT2,true>& );
280 
281 template< typename VT1, typename VT2, bool TF >
282 decltype(auto) operator*( const DenseVector<VT1,TF>&, const SparseVector<VT2,TF>& );
283 
284 template< typename VT1, typename VT2 >
285 decltype(auto) operator*( const DenseVector<VT1,true>&, const SparseVector<VT2,false>& );
286 
287 template< typename VT1, typename VT2 >
288 decltype(auto) operator*( const DenseVector<VT1,false>&, const SparseVector<VT2,true>& );
289 
290 template< typename VT1, typename VT2, bool TF >
291 decltype(auto) operator*( const SparseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
292 
293 template< typename VT1, typename VT2 >
294 decltype(auto) operator*( const SparseVector<VT1,true>&, const DenseVector<VT2,false>& );
295 
296 template< typename VT1, typename VT2 >
297 decltype(auto) operator*( const SparseVector<VT1,false>&, const DenseVector<VT2,true>& );
298 
299 template< typename VT1, typename VT2, bool TF >
300 decltype(auto) operator*( const SparseVector<VT1,TF>&, const SparseVector<VT2,TF>& );
301 
302 template< typename VT1, typename VT2 >
303 decltype(auto) operator*( const SparseVector<VT1,true>&, const SparseVector<VT2,false>& );
304 
305 template< typename VT1, typename VT2 >
306 decltype(auto) operator*( const SparseVector<VT1,false>&, const SparseVector<VT2,true>& );
307 
308 template< typename MT, typename VT >
309 decltype(auto) operator*( const DenseMatrix<MT,false>&, const DenseVector<VT,false>& );
310 
311 template< typename MT, typename VT >
312 decltype(auto) operator*( const DenseMatrix<MT,true>&, const DenseVector<VT,false>& );
313 
314 template< typename MT, typename VT >
315 decltype(auto) operator*( const DenseMatrix<MT,false>&, const SparseVector<VT,false>& );
316 
317 template< typename MT, typename VT >
318 decltype(auto) operator*( const DenseMatrix<MT,true>&, const SparseVector<VT,false>& );
319 
320 template< typename MT, typename VT >
321 decltype(auto) operator*( const SparseMatrix<MT,false>&, const DenseVector<VT,false>& );
322 
323 template< typename MT, typename VT >
324 decltype(auto) operator*( const SparseMatrix<MT,true>&, const DenseVector<VT,false>& );
325 
326 template< typename MT, typename VT >
327 decltype(auto) operator*( const SparseMatrix<MT,false>&, const SparseVector<VT,false>& );
328 
329 template< typename MT, typename VT >
330 decltype(auto) operator*( const SparseMatrix<MT,true>&, const SparseVector<VT,false>& );
331 
332 template< typename VT, typename MT >
333 decltype(auto) operator*( const DenseVector<VT,true>&, const DenseMatrix<MT,false>& );
334 
335 template< typename VT, typename MT >
336 decltype(auto) operator*( const DenseVector<VT,true>&, const DenseMatrix<MT,true>& );
337 
338 template< typename VT, typename MT >
339 decltype(auto) operator*( const DenseVector<VT,true>&, const SparseMatrix<MT,false>& );
340 
341 template< typename VT, typename MT >
342 decltype(auto) operator*( const DenseVector<VT,true>&, const SparseMatrix<MT,true>& );
343 
344 template< typename VT, typename MT >
345 decltype(auto) operator*( const SparseVector<VT,true>&, const DenseMatrix<MT,false>& );
346 
347 template< typename VT, typename MT >
348 decltype(auto) operator*( const SparseVector<VT,true>&, const DenseMatrix<MT,true>& );
349 
350 template< typename VT, typename MT >
351 decltype(auto) operator*( const SparseVector<VT,true>&, const SparseMatrix<MT,false>& );
352 
353 template< typename VT, typename MT >
354 decltype(auto) operator*( const SparseVector<VT,true>&, const SparseMatrix<MT,true>& );
355 
356 template< typename MT1, typename MT2 >
357 decltype(auto) operator*( const DenseMatrix<MT1,false>&, const DenseMatrix<MT2,false>& );
358 
359 template< typename MT1, typename MT2 >
360 decltype(auto) operator*( const DenseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
361 
362 template< typename MT1, typename MT2 >
363 decltype(auto) operator*( const DenseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
364 
365 template< typename MT1, typename MT2 >
366 decltype(auto) operator*( const DenseMatrix<MT1,true>&, const DenseMatrix<MT2,true>& );
367 
368 template< typename MT1, typename MT2 >
369 decltype(auto) operator*( const DenseMatrix<MT1,false>&, const SparseMatrix<MT2,false>& );
370 
371 template< typename MT1, typename MT2 >
372 decltype(auto) operator*( const DenseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
373 
374 template< typename MT1, typename MT2 >
375 decltype(auto) operator*( const DenseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
376 
377 template< typename MT1, typename MT2 >
378 decltype(auto) operator*( const DenseMatrix<MT1,true>&, const SparseMatrix<MT2,true>& );
379 
380 template< typename MT1, typename MT2 >
381 decltype(auto) operator*( const SparseMatrix<MT1,false>&, const DenseMatrix<MT2,false>& );
382 
383 template< typename MT1, typename MT2 >
384 decltype(auto) operator*( const SparseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
385 
386 template< typename MT1, typename MT2 >
387 decltype(auto) operator*( const SparseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
388 
389 template< typename MT1, typename MT2 >
390 decltype(auto) operator*( const SparseMatrix<MT1,true>&, const DenseMatrix<MT2,true>& );
391 
392 template< typename MT1, typename MT2 >
393 decltype(auto) operator*( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,false>& );
394 
395 template< typename MT1, typename MT2 >
396 decltype(auto) operator*( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
397 
398 template< typename MT1, typename MT2 >
399 decltype(auto) operator*( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
400 
401 template< typename MT1, typename MT2 >
402 decltype(auto) operator*( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,true>& );
403 
404 
405 template< typename VT1, typename VT2, bool TF >
406 decltype(auto) operator/( const DenseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
407 
408 template< typename VT1, typename VT2, bool TF >
409 decltype(auto) operator/( const SparseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
410 
411 
412 template< typename VT1, typename VT2, bool TF >
413 decltype(auto) operator%( const DenseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
414 
415 template< typename VT1, typename VT2, bool TF >
416 decltype(auto) operator%( const DenseVector<VT1,TF>&, const SparseVector<VT2,TF>& );
417 
418 template< typename VT1, typename VT2, bool TF >
419 decltype(auto) operator%( const SparseVector<VT1,TF>&, const DenseVector<VT2,TF>& );
420 
421 template< typename VT1, typename VT2, bool TF >
422 decltype(auto) operator%( const SparseVector<VT1,TF>&, const SparseVector<VT2,TF>& );
423 
424 
425 template< typename MT1, typename MT2, bool SO >
426 decltype(auto) operator%( const DenseMatrix<MT1,SO>&, const DenseMatrix<MT2,SO>& );
427 
428 template< typename MT1, typename MT2 >
429 decltype(auto) operator%( const DenseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
430 
431 template< typename MT1, typename MT2 >
432 decltype(auto) operator%( const DenseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
433 
434 template< typename MT1, typename MT2 >
435 decltype(auto) operator%( const DenseMatrix<MT1,false>&, const SparseMatrix<MT2,false>& );
436 
437 template< typename MT1, typename MT2 >
438 decltype(auto) operator%( const DenseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
439 
440 template< typename MT1, typename MT2 >
441 decltype(auto) operator%( const DenseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
442 
443 template< typename MT1, typename MT2 >
444 decltype(auto) operator%( const DenseMatrix<MT1,true>&, const SparseMatrix<MT2,true>& );
445 
446 template< typename MT1, typename MT2 >
447 decltype(auto) operator%( const SparseMatrix<MT1,false>&, const DenseMatrix<MT2,false>& );
448 
449 template< typename MT1, typename MT2 >
450 decltype(auto) operator%( const SparseMatrix<MT1,false>&, const DenseMatrix<MT2,true>& );
451 
452 template< typename MT1, typename MT2 >
453 decltype(auto) operator%( const SparseMatrix<MT1,true>&, const DenseMatrix<MT2,false>& );
454 
455 template< typename MT1, typename MT2 >
456 decltype(auto) operator%( const SparseMatrix<MT1,true>&, const DenseMatrix<MT2,true>& );
457 
458 template< typename MT1, typename MT2 >
459 decltype(auto) operator%( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,false>& );
460 
461 template< typename MT1, typename MT2 >
462 decltype(auto) operator%( const SparseMatrix<MT1,false>&, const SparseMatrix<MT2,true>& );
463 
464 template< typename MT1, typename MT2 >
465 decltype(auto) operator%( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,false>& );
466 
467 template< typename MT1, typename MT2 >
468 decltype(auto) operator%( const SparseMatrix<MT1,true>&, const SparseMatrix<MT2,true>& );
469 
470 
471 template< typename VT, bool TF >
472 decltype(auto) trans( const DenseVector<VT,TF>& );
473 
474 template< typename VT, bool TF >
475 decltype(auto) trans( const SparseVector<VT,TF>& );
476 
477 template< typename MT, bool SO >
478 decltype(auto) trans( const DenseMatrix<MT,SO>& );
479 
480 template< typename MT, bool SO >
481 decltype(auto) trans( const SparseMatrix<MT,SO>& );
482 
483 
484 template< typename VT, bool TF >
485 decltype(auto) eval( const DenseVector<VT,TF>& );
486 
487 template< typename VT, bool TF >
488 decltype(auto) eval( const SparseVector<VT,TF>& );
489 
490 template< typename MT, bool SO >
491 decltype(auto) eval( const DenseMatrix<MT,SO>& );
492 
493 template< typename MT, bool SO >
494 decltype(auto) eval( const SparseMatrix<MT,SO>& );
495 
496 
497 template< typename VT, bool TF >
498 decltype(auto) serial( const DenseVector<VT,TF>& );
499 
500 template< typename VT, bool TF >
501 decltype(auto) serial( const SparseVector<VT,TF>& );
502 
503 template< typename MT, bool SO >
504 decltype(auto) serial( const DenseMatrix<MT,SO>& );
505 
506 template< typename MT, bool SO >
507 decltype(auto) serial( const SparseMatrix<MT,SO>& );
508 
509 
510 template< typename MT, bool SO >
511 inline decltype(auto) inv( const DenseMatrix<MT,SO>& );
512 
513 
514 template< typename VT, bool TF, typename OP >
515 decltype(auto) map( const DenseVector<VT,TF>&, OP );
516 
517 template< typename VT, bool TF, typename OP >
518 decltype(auto) map( const SparseVector<VT,TF>&, OP );
519 
520 template< typename MT, bool SO, typename OP >
521 decltype(auto) map( const DenseMatrix<MT,SO>&, OP );
522 
523 template< typename MT, bool SO, typename OP >
524 decltype(auto) map( const SparseMatrix<MT,SO>&, OP );
525 
526 template< typename VT1, typename VT2, bool TF, typename OP >
527 decltype(auto) map( const DenseVector<VT1,TF>&, const DenseVector<VT2,TF>&, OP );
528 
529 template< typename MT1, typename MT2, bool SO, typename OP >
530 decltype(auto) map( const DenseMatrix<MT1,SO>&, const DenseMatrix<MT2,SO>&, OP );
531 
532 template< typename MT1, typename MT2, typename OP >
533 decltype(auto) map( const DenseMatrix<MT1,false>&, const DenseMatrix<MT2,true>&, OP );
534 
535 template< typename MT1, typename MT2, typename OP >
536 decltype(auto) map( const DenseMatrix<MT1,true>&, const DenseMatrix<MT2,false>&, OP );
537 
538 
539 template< typename MT, bool SO >
540 inline decltype(auto) declsym( const DenseMatrix<MT,SO>& );
541 
542 template< typename MT, bool SO >
543 inline decltype(auto) declsym( const SparseMatrix<MT,SO>& );
544 
545 
546 template< typename MT, bool SO >
547 inline decltype(auto) declherm( const DenseMatrix<MT,SO>& );
548 
549 template< typename MT, bool SO >
550 inline decltype(auto) declherm( const SparseMatrix<MT,SO>& );
551 
552 
553 template< typename MT, bool SO >
554 inline decltype(auto) decllow( const DenseMatrix<MT,SO>& dm );
555 
556 template< typename MT, bool SO >
557 inline decltype(auto) decllow( const SparseMatrix<MT,SO>& sm );
558 
559 
560 template< typename MT, bool SO >
561 inline decltype(auto) declupp( const DenseMatrix<MT,SO>& dm );
562 
563 template< typename MT, bool SO >
564 inline decltype(auto) declupp( const SparseMatrix<MT,SO>& sm );
565 
566 
567 template< typename MT, bool SO >
568 inline decltype(auto) decldiag( const DenseMatrix<MT,SO>& dm );
569 
570 template< typename MT, bool SO >
571 inline decltype(auto) decldiag( const SparseMatrix<MT,SO>& sm );
572 
573 } // namespace blaze
574 
575 #endif
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:1027
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:78
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:57
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:426
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:70
decltype(auto) decllow(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as lower.
Definition: DMatDeclLowExpr.h:1027
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:797
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:1029
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:819
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:790
decltype(auto) declherm(const DenseMatrix< MT, SO > &dm)
Declares the given dense matrix expression dm as Hermitian.
Definition: DMatDeclHermExpr.h:1029
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:1133
Expression object for sparse vector-dense vector multiplications.The SVecDVecMultExpr class represent...
Definition: Forward.h:133