35 #ifndef _BLAZE_MATH_VIEWS_COLUMN_H_
36 #define _BLAZE_MATH_VIEWS_COLUMN_H_
81 inline typename EnableIf< IsMatMatAddExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
82 column(
const Matrix<MT,SO>& matrix,
size_t index )
86 return column( (~matrix).leftOperand(), index ) +
column( (~matrix).rightOperand(), index );
104 template<
typename MT
106 inline typename EnableIf< IsMatMatSubExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
107 column(
const Matrix<MT,SO>& matrix,
size_t index )
111 return column( (~matrix).leftOperand(), index ) -
column( (~matrix).rightOperand(), index );
129 template<
typename MT
131 inline typename EnableIf< IsMatMatMultExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
132 column(
const Matrix<MT,SO>& matrix,
size_t index )
136 return (~matrix).leftOperand() *
column( (~matrix).rightOperand(), index );
154 template<
typename MT
156 inline typename EnableIf< IsVecTVecMultExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
157 column(
const Matrix<MT,SO>& matrix,
size_t index )
161 return (~matrix).leftOperand() * (~matrix).rightOperand()[index];
179 template<
typename MT
181 inline typename EnableIf< IsMatScalarMultExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
182 column(
const Matrix<MT,SO>& matrix,
size_t index )
186 return column( (~matrix).leftOperand(), index ) * (~matrix).rightOperand();
204 template<
typename MT
206 inline typename EnableIf< IsMatScalarDivExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
207 column(
const Matrix<MT,SO>& matrix,
size_t index )
211 return column( (~matrix).leftOperand(), index ) / (~matrix).rightOperand();
229 template<
typename MT
231 inline typename EnableIf< IsMatAbsExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
232 column(
const Matrix<MT,SO>& matrix,
size_t index )
236 return abs(
column( (~matrix).operand(), index ) );
254 template<
typename MT
256 inline typename EnableIf< IsMatEvalExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
257 column(
const Matrix<MT,SO>& matrix,
size_t index )
261 return eval(
column( (~matrix).operand(), index ) );
279 template<
typename MT
281 inline typename EnableIf< IsMatTransExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
282 column(
const Matrix<MT,SO>& matrix,
size_t index )
286 return trans(
row( (~matrix).operand(), index ) );
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, DenseColumn< MT > >::Type column(DenseMatrix< MT, SO > &dm, size_t index)
Creating a view on a specific column of the given dense matrix.
Definition: DenseColumn.h:3026
const DMatTransExpr< MT,!SO > trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:446
Header file for the ColumnExprTrait class template.
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:739
Header file for the IsMatMatAddExpr type trait class.
Header file for the IsMatTransExpr type trait class.
Header file for the IsMatAbsExpr type trait class.
Header file for the IsVecTVecMultExpr type trait class.
Header file for the IsMatMatMultExpr type trait class.
Header file for the IsMatScalarMultExpr type trait class.
Header file for the IsMatEvalExpr type trait class.
Header file for the EnableIf class template.
Header file for the Matrix base class.
Header file for the IsMatScalarDivExpr type trait class.
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, DenseRow< MT > >::Type row(DenseMatrix< MT, SO > &dm, size_t index)
Creating a view on a specific row of the given dense matrix.
Definition: DenseRow.h:3025
const DMatEvalExpr< MT, SO > eval(const DenseMatrix< MT, SO > &dm)
Forces the evaluation of the given dense matrix expression dm.
Definition: DMatEvalExpr.h:395
Header file for the IsMatMatSubExpr 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 basic type definitions.
Header file for the FunctionTrace class.