35 #ifndef _BLAZE_MATH_VIEWS_COLUMN_H_
36 #define _BLAZE_MATH_VIEWS_COLUMN_H_
101 inline typename DisableIf< Or< IsComputation<MT>, IsTransExpr<MT> >
102 ,
typename ColumnExprTrait<MT>::Type >::Type
141 template<
typename MT
143 inline typename DisableIf< Or< IsComputation<MT>, IsTransExpr<MT> >
144 ,
typename ColumnExprTrait<const MT>::Type >::Type
175 template<
typename MT
177 inline typename EnableIf< IsMatMatAddExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
178 column(
const Matrix<MT,SO>& matrix,
size_t index )
182 return column( (~matrix).leftOperand(), index ) +
column( (~matrix).rightOperand(), index );
200 template<
typename MT
202 inline typename EnableIf< IsMatMatSubExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
203 column(
const Matrix<MT,SO>& matrix,
size_t index )
207 return column( (~matrix).leftOperand(), index ) -
column( (~matrix).rightOperand(), index );
225 template<
typename MT
227 inline typename EnableIf< IsMatMatMultExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
228 column(
const Matrix<MT,SO>& matrix,
size_t index )
232 return (~matrix).leftOperand() *
column( (~matrix).rightOperand(), index );
250 template<
typename MT
252 inline typename EnableIf< IsVecTVecMultExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
253 column(
const Matrix<MT,SO>& matrix,
size_t index )
257 return (~matrix).leftOperand() * (~matrix).rightOperand()[index];
275 template<
typename MT
277 inline typename EnableIf< IsMatScalarMultExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
278 column(
const Matrix<MT,SO>& matrix,
size_t index )
282 return column( (~matrix).leftOperand(), index ) * (~matrix).rightOperand();
300 template<
typename MT
302 inline typename EnableIf< IsMatScalarDivExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
303 column(
const Matrix<MT,SO>& matrix,
size_t index )
307 return column( (~matrix).leftOperand(), index ) / (~matrix).rightOperand();
325 template<
typename MT
327 inline typename EnableIf< IsMatAbsExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
328 column(
const Matrix<MT,SO>& matrix,
size_t index )
332 return abs(
column( (~matrix).operand(), index ) );
350 template<
typename MT
352 inline typename EnableIf< IsMatEvalExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
353 column(
const Matrix<MT,SO>& matrix,
size_t index )
357 return eval(
column( (~matrix).operand(), index ) );
375 template<
typename MT
377 inline typename EnableIf< IsMatTransExpr<MT>,
typename ColumnExprTrait<MT>::Type >::Type
378 column(
const Matrix<MT,SO>& matrix,
size_t index )
382 return trans(
row( (~matrix).operand(), index ) );
Header file for the ColumnExprTrait class template.
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:103
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:909
Header file for the IsTransExpr type trait class.
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 DisableIf class template.
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 IsMatScalarMultExpr type trait class.
Header file for the IsMatEvalExpr type trait class.
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:103
Header file for the Matrix base class.
const Type & ReturnType
Return type for expression template evaluations.
Definition: CompressedMatrix.h:2477
Header file for the IsMatScalarDivExpr type trait class.
const DMatEvalExpr< MT, SO > eval(const DenseMatrix< MT, SO > &dm)
Forces the evaluation of the given dense matrix expression dm.
Definition: DMatEvalExpr.h:677
Header file for the IsMatMatSubExpr 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:932
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 basic type definitions.
Evaluation of the expression type type of a column operation.Via this type trait it is possible to ev...
Definition: ColumnExprTrait.h:79
Header file for the FunctionTrace class.