Classes | Enumerations

Classes

struct  blaze::HybridMatrix< Type, M, N, SO >::Rebind< ET >
 Rebind mechanism to obtain a HybridMatrix with different data/element type. More...
 
class  blaze::HybridMatrix< Type, M, N, SO >
 Efficient implementation of a dynamically sized matrix with static memory.The HybridMatrix class template combines the flexibility of a dynamically sized matrix with the efficiency and performance of a fixed-size matrix. It is implemented as a crossing between the blaze::StaticMatrix and the blaze::DynamicMatrix class templates: Similar to the static matrix it uses static stack memory instead of dynamically allocated memory and similar to the dynamic matrix it can be resized (within the extend of the static memory). The type of the elements, the maximum number of rows and columns and the storage order of the matrix can be specified via the four template parameters: More...
 

Enumerations

enum  { NN = N + ( IT::size - ( N % IT::size ) ) % IT::size }
 Alignment adjustment.
 
enum  { vectorizable = IsVectorizable<Type>::value }
 Compilation flag for intrinsic optimization. More...
 
enum  { smpAssignable = 0 }
 Compilation flag for SMP assignments. More...
 

HybridMatrix operators

template<typename Type , size_t M, size_t N, bool SO>
void blaze::reset (HybridMatrix< Type, M, N, SO > &m)
 Resetting the given hybrid matrix. More...
 
template<typename Type , size_t M, size_t N, bool SO>
void blaze::reset (HybridMatrix< Type, M, N, SO > &m, size_t i)
 Reset the specified row/column of the given hybrid matrix. More...
 
template<typename Type , size_t M, size_t N, bool SO>
void blaze::clear (HybridMatrix< Type, M, N, SO > &m)
 Clearing the given hybrid matrix. More...
 
template<typename Type , size_t M, size_t N, bool SO>
bool blaze::isDefault (const HybridMatrix< Type, M, N, SO > &m)
 Returns whether the given hybrid matrix is in default state. More...
 
template<typename Type , size_t M, size_t N, bool SO>
void blaze::swap (HybridMatrix< Type, M, N, SO > &a, HybridMatrix< Type, M, N, SO > &b)
 Swapping the contents of two hybrid matrices. More...
 
template<typename Type , size_t M, size_t N, bool SO>
void blaze::move (HybridMatrix< Type, M, N, SO > &dst, HybridMatrix< Type, M, N, SO > &src)
 Moving the contents of one hybrid matrix to another. More...
 

Detailed Description

Enumeration Type Documentation

template<typename Type, size_t M, size_t N, bool SO = defaultStorageOrder>
anonymous enum

Compilation flag for intrinsic optimization.

The vectorizable compilation flag indicates whether expressions the matrix is involved in can be optimized via intrinsics. In case the element type of the matrix is a vectorizable data type, the vectorizable compilation flag is set to true, otherwise it is set to false.

template<typename Type, size_t M, size_t N, bool SO = defaultStorageOrder>
anonymous enum

Compilation flag for SMP assignments.

The smpAssignable compilation flag indicates whether the matrix can be used in SMP (shared memory parallel) assignments (both on the left-hand and right-hand side of the assignment).

Function Documentation

template<typename Type , size_t M, size_t N, bool SO>
void blaze::clear ( HybridMatrix< Type, M, N, SO > &  m)
inline

Clearing the given hybrid matrix.

Parameters
mThe matrix to be cleared.
Returns
void
template<typename Type , size_t M, size_t N, bool SO>
bool blaze::isDefault ( const HybridMatrix< Type, M, N, SO > &  m)
inline

Returns whether the given hybrid matrix is in default state.

Parameters
mThe hybrid 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 hybrid 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 ) ) { ... }
template<typename Type , size_t M, size_t N, bool SO>
void blaze::move ( HybridMatrix< Type, M, N, SO > &  dst,
HybridMatrix< Type, M, N, SO > &  src 
)
inline

Moving the contents of one hybrid matrix to another.

Parameters
dstThe destination matrix.
srcThe source matrix.
Returns
void
Exceptions
no-throwguarantee.
template<typename Type , size_t M, size_t N, bool SO>
void blaze::reset ( HybridMatrix< Type, M, N, SO > &  m)
inline

Resetting the given hybrid matrix.

Parameters
mThe matrix to be resetted.
Returns
void
template<typename Type , size_t M, size_t N, bool SO>
void blaze::reset ( HybridMatrix< Type, M, N, SO > &  m,
size_t  i 
)
inline

Reset the specified row/column of the given hybrid 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 hybrid 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.

template<typename Type , size_t M, size_t N, bool SO>
void blaze::swap ( HybridMatrix< Type, M, N, SO > &  a,
HybridMatrix< Type, M, N, SO > &  b 
)
inline

Swapping the contents of two hybrid matrices.

Parameters
aThe first matrix to be swapped.
bThe second matrix to be swapped.
Returns
void
Exceptions
no-throwguarantee.