35 #ifndef _BLAZE_MATH_EXPRESSIONS_DENSEMATRIX_H_ 36 #define _BLAZE_MATH_EXPRESSIONS_DENSEMATRIX_H_ 97 template<
typename MT,
bool SO >
100 template<
typename MT,
bool SO >
103 template<
typename MT,
bool SO >
120 template<
typename MT
143 template<
typename MT
167 template<
typename MT
171 return data_backend( ~dm );
187 template<
typename MT
210 template<
typename MT
234 template<
typename MT
238 return data_backend( ~dm );
250 template<
typename MT
254 return (~dm).spacing();
270 template<
typename MT >
271 inline auto resetLower_backend( DenseMatrix<MT,false>& dm ) -> DisableIf_t< IsUpper_v<MT> >
273 const size_t m( (~dm).
rows() );
274 const size_t n( (~dm).
columns() );
276 for(
size_t i=1UL; i<m; ++i ) {
277 const size_t jend(
min( i, n ) );
278 for(
size_t j=0UL; j<jend; ++j ) {
298 template<
typename MT >
299 inline auto resetLower_backend( DenseMatrix<MT,true>& dm ) -> DisableIf_t< IsUpper_v<MT> >
301 const size_t m ( (~dm).
rows() );
302 const size_t n ( (~dm).
columns() );
303 const size_t jend(
min( m, n ) );
305 for(
size_t j=0UL; j<jend; ++j ) {
306 for(
size_t i=j+1UL; i<m; ++i ) {
325 template<
typename MT
327 inline auto resetLower_backend( DenseMatrix<MT,SO>& dm ) -> EnableIf_t< IsUpper_v<MT> >
345 template<
typename MT
347 inline void resetLower( DenseMatrix<MT,SO>& dm )
349 resetLower_backend( ~dm );
366 template<
typename MT >
367 inline auto resetUpper_backend( DenseMatrix<MT,false>& dm ) -> DisableIf_t< IsLower_v<MT> >
369 const size_t m ( (~dm).
rows() );
370 const size_t n ( (~dm).
columns() );
371 const size_t iend(
min( m, n ) );
373 for(
size_t i=0UL; i<iend; ++i ) {
374 for(
size_t j=i+1UL; j<n; ++j ) {
394 template<
typename MT >
395 inline auto resetUpper_backend( DenseMatrix<MT,true>& dm ) -> DisableIf_t< IsLower_v<MT> >
397 const size_t m( (~dm).
rows() );
398 const size_t n( (~dm).
columns() );
400 for(
size_t j=1UL; j<n; ++j ) {
401 const size_t iend(
min( j, m ) );
402 for(
size_t i=0UL; i<iend; ++i ) {
421 template<
typename MT
423 inline auto resetUpper_backend( DenseMatrix<MT,SO>& dm ) -> EnableIf_t< IsLower_v<MT> >
441 template<
typename MT
443 inline void resetUpper( DenseMatrix<MT,SO>& dm )
445 resetUpper_backend( ~dm );
Headerfile for the generic min algorithm.
Header file for the UNUSED_PARAMETER function template.
MT::ElementType * data(DenseMatrix< MT, SO > &dm) noexcept
Low-level data access to the dense matrix elements.
Definition: DenseMatrix.h:169
void reset(const DiagonalProxy< MT > &proxy)
Resetting the represented element to the default initial values.
Definition: DiagonalProxy.h:591
Header file for the reset shim.
constexpr void UNUSED_PARAMETER(const Args &...)
Suppression of unused parameter warnings.
Definition: Unused.h:81
constexpr size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:514
Base class for dense matrices.The DenseMatrix class is a base class for all dense matrix classes...
Definition: DenseMatrix.h:80
size_t spacing(const DenseMatrix< MT, SO > &dm) noexcept
Returns the spacing between the beginning of two rows/columns.
Definition: DenseMatrix.h:252
Header file for the DisableIf class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Type ElementType
Type of the compressed matrix elements.
Definition: CompressedMatrix.h:3080
decltype(auto) min(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the componentwise minimum of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1147
Header file for the IsLower type trait.
Header file for the EnableIf class template.
Header file for the HasConstDataAccess type trait.
Header file for the Matrix base class.
Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes with...
Definition: Forward.h:109
Header file for the HasMutableDataAccess type trait.
constexpr size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:498
Header file for the IsUpper type trait.
typename DisableIf< Condition, T >::Type DisableIf_t
Auxiliary type for the DisableIf class template.The DisableIf_t alias declaration provides a convenie...
Definition: DisableIf.h:138
System settings for the inline keywords.