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

Expression object for dense matrix singular value solvers. More...

#include <DMatSVDExpr.h>

Inherits blaze::SVDExpr< DenseVector< DMatSVDExpr< MT, SO >, false > >, and blaze::Computation.

Public Types

using This = DMatSVDExpr< MT, SO >
 Type of this DMatSVDExpr instance.
 
using BaseType = SVDExpr< DenseMatrix< This, SO > >
 Base type of this DMatSVDExpr instance.
 
using ResultType = Rebind_t< VT, ET >
 Result type for expression template evaluations.
 
using TransposeType = TransposeType_t< ResultType >
 Transpose type for expression template evaluations.
 
using ElementType = ElementType_t< ResultType >
 Resulting element type.
 
using ReturnType = ReturnType_t< ResultType >
 Return type for expression template evaluations.
 
using CompositeType = const ResultType
 Data type for composite expression templates.
 
using Operand = If_t< IsExpression_v< MT >, const MT, const MT & >
 Composite data type of the dense matrix expression.
 
using VectorType = DMatSVDExpr< MT, SO >
 Type of the vector.
 

Public Member Functions

 DMatSVDExpr (const MT &dm) noexcept
 Constructor for the DMatSVDExpr class. More...
 
size_t size () const noexcept
 Returns the current size/dimension of the vector. 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...
 
Conversion operators
BLAZE_ALWAYS_INLINE constexpr DMatSVDExpr< MT, SO > & operator~ () noexcept
 CRTP-based conversion operation for non-constant vectors. More...
 
BLAZE_ALWAYS_INLINE constexpr const DMatSVDExpr< MT, SO > & operator~ () const noexcept
 CRTP-based conversion operation for constant vectors. More...
 
constexpr DMatSVDExpr< MT, SO > & operator* () noexcept
 CRTP-based conversion operation for non-constant vectors. More...
 
constexpr const DMatSVDExpr< MT, SO > & operator* () const noexcept
 CRTP-based conversion operation for constant vectors. More...
 

Static Public Attributes

static constexpr bool simdEnabled = false
 Compilation switch for the expression template evaluation strategy.
 
static constexpr bool smpAssignable = false
 Compilation switch for the expression template assignment strategy.
 
static constexpr bool transposeFlag
 Transpose flag of the vector.
 

Private Types

using CRT = ColumnTrait_t< ResultType_t< MT > >
 Column type of the matrix result type.
 
using CTT = ColumnTrait_t< TransposeType_t< MT > >
 Column type of the matrix transpose type.
 
using VT = If_t<(Size_v< CRT, 0UL >< Size_v< CTT, 0UL >||MaxSize_v< CRT, 0UL >< MaxSize_v< CTT, 0UL >), CRT, CTT >
 Type of the resulting vector.
 
using ET = UnderlyingElement_t< ElementType_t< MT > >
 Element type of the resulting vector.
 

Private Attributes

Operand dm_
 Dense matrix of the singular value expression.
 

Detailed Description

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

Expression object for dense matrix singular value solvers.

The DMatSVDExpr class represents the compile time expression for dense matrix singular value solvers.

Constructor & Destructor Documentation

◆ DMatSVDExpr()

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

Constructor for the DMatSVDExpr class.

Parameters
dmThe dense matrix operand of the singular value expression.

Member Function Documentation

◆ canAlias()

template<typename MT , bool SO>
template<typename T >
bool blaze::DMatSVDExpr< 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.

◆ isAliased()

template<typename MT , bool SO>
template<typename T >
bool blaze::DMatSVDExpr< 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::DMatSVDExpr< MT, SO >::operand ( ) const
inlinenoexcept

Returns the dense matrix operand.

Returns
The dense matrix operand.

◆ operator*() [1/2]

BLAZE_ALWAYS_INLINE constexpr const DMatSVDExpr< MT, SO > & blaze::Vector< DMatSVDExpr< MT, SO > , TF >::operator*
constexprnoexceptinherited

CRTP-based conversion operation for constant vectors.

Returns
Const reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a constant reference to the actual type VT.

◆ operator*() [2/2]

BLAZE_ALWAYS_INLINE constexpr DMatSVDExpr< MT, SO > & blaze::Vector< DMatSVDExpr< MT, SO > , TF >::operator*
constexprnoexceptinherited

CRTP-based conversion operation for non-constant vectors.

Returns
Mutable reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a mutable reference to the actual type VT.

◆ operator~() [1/2]

BLAZE_ALWAYS_INLINE constexpr const DMatSVDExpr< MT, SO > & blaze::Vector< DMatSVDExpr< MT, SO > , TF >::operator~
constexprnoexceptinherited

CRTP-based conversion operation for constant vectors.

Returns
Constant reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a constant reference to the actual type VT.

◆ operator~() [2/2]

BLAZE_ALWAYS_INLINE constexpr DMatSVDExpr< MT, SO > & blaze::Vector< DMatSVDExpr< MT, SO > , TF >::operator~
constexprnoexceptinherited

CRTP-based conversion operation for non-constant vectors.

Returns
Mutable reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a mutable reference to the actual type VT.

◆ size()

template<typename MT , bool SO>
size_t blaze::DMatSVDExpr< MT, SO >::size ( ) const
inlinenoexcept

Returns the current size/dimension of the vector.

Returns
The size of the vector.

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