Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
blaze::DMatInvExpr< MT, SO > Class Template Reference

Expression object for dense matrix inversions.The DMatInvExpr class represents the compile time expression for inversions of dense matrices. More...

#include <DMatInvExpr.h>

Inherits blaze::MatInvExpr< DenseMatrix< DMatInvExpr< MT, SO >, SO > >, and blaze::Computation.

Public Types

enum  : bool { simdEnabled = false }
 Compilation switch for the expression template evaluation strategy.
 
enum  : bool { smpAssignable = false }
 Compilation switch for the expression template assignment strategy.
 
using This = DMatInvExpr< MT, SO >
 Type of this DMatInvExpr instance.
 
using ResultType = ResultType_< MT >
 Result type for expression template evaluations.
 
using OppositeType = OppositeType_< MT >
 Result type with opposite storage order for expression template evaluations.
 
using TransposeType = TransposeType_< MT >
 Transpose type for expression template evaluations.
 
using ElementType = ElementType_< MT >
 Resulting element type.
 
using ReturnType = ReturnType_< MT >
 Return type for expression template evaluations.
 
using CompositeType = const ResultType
 Data type for composite expression templates.
 
using Operand = If_< IsExpression< MT >, const MT, const MT &>
 Composite data type of the dense matrix expression.
 
using MatrixType = MT
 Type of the matrix.
 

Public Member Functions

 DMatInvExpr (const MT &dm) noexcept
 Constructor for the DMatInvExpr class. More...
 
size_t rows () const noexcept
 Returns the current number of rows of the matrix. More...
 
size_t columns () const noexcept
 Returns the current number of columns of the matrix. More...
 
Operand operand () const noexcept
 Returns the dense matrix operand. More...
 
template<typename T >
bool canAlias (const T *alias) const noexcept
 Returns whether the expression can alias with the given address alias. More...
 
template<typename T >
bool isAliased (const T *alias) const noexcept
 Returns whether the expression is aliased with the given address alias. More...
 
BLAZE_ALWAYS_INLINE MatrixTypeoperator~ () noexcept
 Conversion operator for non-constant matrices. More...
 
BLAZE_ALWAYS_INLINE const MatrixTypeoperator~ () const noexcept
 Conversion operator for constant matrices. More...
 

Private Types

using RT = ResultType_< MT >
 Result type of the dense matrix expression.
 
using CT = CompositeType_< MT >
 Composite type of the dense matrix expression.
 

Private Attributes

Operand dm_
 Dense matrix of the inversion expression.
 

Detailed Description

template<typename MT, bool SO>
class blaze::DMatInvExpr< MT, SO >

Expression object for dense matrix inversions.

The DMatInvExpr class represents the compile time expression for inversions of dense matrices.

Constructor & Destructor Documentation

◆ DMatInvExpr()

template<typename MT, bool SO>
blaze::DMatInvExpr< MT, SO >::DMatInvExpr ( const MT &  dm)
inlineexplicitnoexcept

Constructor for the DMatInvExpr class.

Parameters
dmThe dense matrix operand of the inversion expression.

Member Function Documentation

◆ canAlias()

template<typename MT, bool SO>
template<typename T >
bool blaze::DMatInvExpr< MT, SO >::canAlias ( const T *  alias) const
inlinenoexcept

Returns whether the expression can alias with the given address alias.

Parameters
aliasThe alias to be checked.
Returns
true in case the expression can alias, false otherwise.

◆ columns()

template<typename MT, bool SO>
size_t blaze::DMatInvExpr< MT, SO >::columns ( ) const
inlinenoexcept

Returns the current number of columns of the matrix.

Returns
The number of columns of the matrix.

◆ isAliased()

template<typename MT, bool SO>
template<typename T >
bool blaze::DMatInvExpr< MT, SO >::isAliased ( const T *  alias) const
inlinenoexcept

Returns whether the expression is aliased with the given address alias.

Parameters
aliasThe alias to be checked.
Returns
true in case an alias effect is detected, false otherwise.

◆ operand()

template<typename MT, bool SO>
Operand blaze::DMatInvExpr< MT, SO >::operand ( ) const
inlinenoexcept

Returns the dense matrix operand.

Returns
The dense matrix operand.

◆ operator~() [1/2]

template<typename MT, bool SO>
BLAZE_ALWAYS_INLINE MatrixType& blaze::Matrix< MT, SO >::operator~ ( )
inlinenoexceptinherited

Conversion operator for non-constant matrices.

Returns
Reference of the actual type of the matrix.

◆ operator~() [2/2]

template<typename MT, bool SO>
BLAZE_ALWAYS_INLINE const MatrixType& blaze::Matrix< MT, SO >::operator~ ( ) const
inlinenoexceptinherited

Conversion operator for constant matrices.

Returns
Constant reference of the actual type of the matrix.

◆ rows()

template<typename MT, bool SO>
size_t blaze::DMatInvExpr< MT, SO >::rows ( ) const
inlinenoexcept

Returns the current number of rows of the matrix.

Returns
The number of rows of the matrix.

The documentation for this class was generated from the following file: