Classes

Classes

class  blaze::CustomMatrix< Type, AF, PF, SO, RT >
 Efficient implementation of a customizable matrix.The CustomMatrix class template provides the functionality to represent an external array of elements of arbitrary type and a fixed size as a native Blaze dense matrix data structure. Thus in contrast to all other dense matrix types a custom matrix does not perform any kind of memory allocation by itself, but it is provided with an existing array of element during construction. A custom matrix can therefore be considered an alias to the existing array. More...
 

CustomMatrix operators

template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::reset (CustomMatrix< Type, AF, PF, SO, RT > &m)
 Resetting the given custom matrix. More...
 
template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::reset (CustomMatrix< Type, AF, PF, SO, RT > &m, size_t i)
 Reset the specified row/column of the given custom matrix. More...
 
template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::clear (CustomMatrix< Type, AF, PF, SO, RT > &m)
 Clearing the given custom matrix. More...
 
template<bool RF, typename Type , bool AF, bool PF, bool SO, typename RT >
bool blaze::isDefault (const CustomMatrix< Type, AF, PF, SO, RT > &m)
 Returns whether the given custom matrix is in default state. More...
 
template<typename Type , bool AF, bool PF, bool SO, typename RT >
bool blaze::isIntact (const CustomMatrix< Type, AF, PF, SO, RT > &m)
 Returns whether the invariants of the given custom matrix are intact. More...
 
template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::swap (CustomMatrix< Type, AF, PF, SO, RT > &a, CustomMatrix< Type, AF, PF, SO, RT > &b) noexcept
 Swapping the contents of two custom matrices. More...
 

Detailed Description

Function Documentation

◆ clear()

template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::clear ( CustomMatrix< Type, AF, PF, SO, RT > &  m)
inline

Clearing the given custom matrix.

Parameters
mThe matrix to be cleared.
Returns
void

◆ isDefault()

template<bool RF, typename Type , bool AF, bool PF, bool SO, typename RT >
bool blaze::isDefault ( const CustomMatrix< Type, AF, PF, SO, RT > &  m)
inline

Returns whether the given custom matrix is in default state.

Parameters
mThe matrix to be tested for its default state.
Returns
true in case the given matrix's rows and columns are zero, false otherwise.

This function checks whether the custom matrix is in default (constructed) state, i.e. if it's number of rows and columns is 0. In case it is in default state, the function returns true, else it will return false. The following example demonstrates the use of the isDefault() function:

// ... Resizing and initialization
if( isDefault( A ) ) { ... }

Optionally, it is possible to switch between strict semantics (blaze::strict) and relaxed semantics (blaze::relaxed):

if( isDefault<relaxed>( A ) ) { ... }

◆ isIntact()

template<typename Type , bool AF, bool PF, bool SO, typename RT >
bool blaze::isIntact ( const CustomMatrix< Type, AF, PF, SO, RT > &  m)
inline

Returns whether the invariants of the given custom matrix are intact.

Parameters
mThe custom matrix to be tested.
Returns
true in case the given matrix's invariants are intact, false otherwise.

This function checks whether the invariants of the custom matrix are intact, i.e. if its state is valid. In case the invariants are intact, the function returns true, else it will return false. The following example demonstrates the use of the isIntact() function:

// ... Resizing and initialization
if( isIntact( A ) ) { ... }

◆ reset() [1/2]

template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::reset ( CustomMatrix< Type, AF, PF, SO, RT > &  m)
inline

Resetting the given custom matrix.

Parameters
mThe matrix to be resetted.
Returns
void

◆ reset() [2/2]

template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::reset ( CustomMatrix< Type, AF, PF, SO, RT > &  m,
size_t  i 
)
inline

Reset the specified row/column of the given custom matrix.

Parameters
mThe matrix to be resetted.
iThe index of the row/column to be resetted.
Returns
void

This function resets the values in the specified row/column of the given custom matrix to their default value. In case the given matrix is a rowMajor matrix the function resets the values in row i, if it is a columnMajor matrix the function resets the values in column i. Note that the capacity of the row/column remains unchanged.

◆ swap()

template<typename Type , bool AF, bool PF, bool SO, typename RT >
void blaze::swap ( CustomMatrix< Type, AF, PF, SO, RT > &  a,
CustomMatrix< Type, AF, PF, SO, RT > &  b 
)
inlinenoexcept

Swapping the contents of two custom matrices.

Parameters
aThe first matrix to be swapped.
bThe second matrix to be swapped.
Returns
void