35 #ifndef _BLAZE_MATH_VIEWS_ROW_H_
36 #define _BLAZE_MATH_VIEWS_ROW_H_
103 template<
typename MT
105 inline typename DisableIf< Or< IsComputation<MT>, IsTransExpr<MT> >
106 ,
typename RowExprTrait<MT>::Type >::Type
145 template<
typename MT
147 inline typename DisableIf< Or< IsComputation<MT>, IsTransExpr<MT> >
148 ,
typename RowExprTrait<const MT>::Type >::Type
179 template<
typename MT
181 inline typename EnableIf< IsMatMatAddExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
182 row(
const Matrix<MT,SO>& matrix,
size_t index )
186 return row( (~matrix).leftOperand(), index ) +
row( (~matrix).rightOperand(), index );
204 template<
typename MT
206 inline typename EnableIf< IsMatMatSubExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
207 row(
const Matrix<MT,SO>& matrix,
size_t index )
211 return row( (~matrix).leftOperand(), index ) -
row( (~matrix).rightOperand(), index );
229 template<
typename MT
231 inline typename EnableIf< IsMatMatMultExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
232 row(
const Matrix<MT,SO>& matrix,
size_t index )
236 return row( (~matrix).leftOperand(), index ) * (~matrix).rightOperand();
253 template<
typename MT
255 inline typename EnableIf< IsVecTVecMultExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
256 row(
const Matrix<MT,SO>& matrix,
size_t index )
260 return (~matrix).leftOperand()[index] * (~matrix).rightOperand();
278 template<
typename MT
280 inline typename EnableIf< IsMatScalarMultExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
281 row(
const Matrix<MT,SO>& matrix,
size_t index )
285 return row( (~matrix).leftOperand(), index ) * (~matrix).rightOperand();
303 template<
typename MT
305 inline typename EnableIf< IsMatScalarDivExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
306 row(
const Matrix<MT,SO>& matrix,
size_t index )
310 return row( (~matrix).leftOperand(), index ) / (~matrix).rightOperand();
328 template<
typename MT
330 inline typename EnableIf< IsMatAbsExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
331 row(
const Matrix<MT,SO>& matrix,
size_t index )
335 return abs(
row( (~matrix).operand(), index ) );
353 template<
typename MT
355 inline typename EnableIf< IsMatConjExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
356 row(
const Matrix<MT,SO>& matrix,
size_t index )
360 return conj(
row( (~matrix).operand(), index ) );
378 template<
typename MT
380 inline typename EnableIf< IsMatRealExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
381 row(
const Matrix<MT,SO>& matrix,
size_t index )
385 return real(
row( (~matrix).operand(), index ) );
403 template<
typename MT
405 inline typename EnableIf< IsMatImagExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
406 row(
const Matrix<MT,SO>& matrix,
size_t index )
410 return imag(
row( (~matrix).operand(), index ) );
428 template<
typename MT
430 inline typename EnableIf< IsMatEvalExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
431 row(
const Matrix<MT,SO>& matrix,
size_t index )
435 return eval(
row( (~matrix).operand(), index ) );
453 template<
typename MT
455 inline typename EnableIf< IsMatSerialExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
456 row(
const Matrix<MT,SO>& matrix,
size_t index )
460 return serial(
row( (~matrix).operand(), index ) );
478 template<
typename MT
480 inline typename EnableIf< IsMatTransExpr<MT>,
typename RowExprTrait<MT>::Type >::Type
481 row(
const Matrix<MT,SO>& matrix,
size_t index )
485 return trans(
column( (~matrix).operand(), index ) );
Header file for basic type definitions.
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename ColumnExprTrait< MT >::Type >::Type column(Matrix< MT, SO > &matrix, size_t index)
Creating a view on a specific column of the given matrix.
Definition: Column.h:107
const DMatAbsExpr< MT, SO > abs(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the absolute values of each single element of dm.
Definition: DMatAbsExpr.h:938
Header file for the IsTransExpr type trait class.
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
Header file for the IsMatMatAddExpr type trait class.
const ImagExprTrait< MT >::Type imag(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the imaginary part of each single element of dm.
Definition: DMatImagExpr.h:920
Header file for the IsMatTransExpr type trait class.
ConjExprTrait< typename DiagonalProxy< MT >::RepresentedType >::Type conj(const DiagonalProxy< MT > &proxy)
Computing the complex conjugate of the represented element.
Definition: DiagonalProxy.h:487
Header file for the IsMatAbsExpr type trait class.
Header file for the DisableIf class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the IsVecTVecMultExpr type trait class.
Header file for the Or class template.
Header file for the IsMatMatMultExpr type trait class.
Header file for the IsMatSerialExpr type trait class.
Header file for the IsMatScalarMultExpr type trait class.
const RealExprTrait< MT >::Type real(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the real part of each single element of dm.
Definition: DMatRealExpr.h:920
Header file for the IsMatEvalExpr type trait class.
Evaluation of the expression type type of a row operation.Via this type trait it is possible to evalu...
Definition: RowExprTrait.h:78
Header file for the RowExprTrait class template.
Header file for the EnableIf class template.
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename RowExprTrait< MT >::Type >::Type row(Matrix< MT, SO > &matrix, size_t index)
Creating a view on a specific row of the given matrix.
Definition: Row.h:107
Header file for the Matrix base class.
const Type & ReturnType
Return type for expression template evaluations.
Definition: CompressedMatrix.h:2587
Header file for the IsMatScalarDivExpr type trait class.
Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes with...
Definition: Forward.h:94
const DMatEvalExpr< MT, SO > eval(const DenseMatrix< MT, SO > &dm)
Forces the evaluation of the given dense matrix expression dm.
Definition: DMatEvalExpr.h:703
Header file for the IsMatMatSubExpr type trait class.
Header file for the IsMatRealExpr type trait class.
const DMatTransExpr< MT,!SO > trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:944
Header file for the IsComputation type trait class.
#define BLAZE_FUNCTION_TRACE
Function trace macro.This macro can be used to reliably trace function calls. In case function tracin...
Definition: FunctionTrace.h:157
Header file for the IsMatConjExpr type trait class.
Header file for the IsMatImagExpr type trait class.
Header file for the FunctionTrace class.