Classes
Dense Subvector

Classes

class  blaze::DenseSubvector< VT, AF, TF >::SubvectorIterator< IteratorType >
 Iterator over the elements of the sparse subvector. More...
 
class  blaze::DenseSubvector< VT, AF, TF >
 View on a specific subvector of a dense vector.The DenseSubvector template represents a view on a specific subvector of a dense vector primitive. The type of the dense vector is specified via the first template parameter: More...
 

DenseSubvector operators

template<typename VT , bool AF, bool TF>
void blaze::reset (DenseSubvector< VT, AF, TF > &dv)
 Resetting the given dense subvector. More...
 
template<typename VT , bool AF, bool TF>
void blaze::clear (DenseSubvector< VT, AF, TF > &dv)
 Clearing the given dense subvector. More...
 
template<typename VT , bool AF, bool TF>
bool blaze::isDefault (const DenseSubvector< VT, AF, TF > &dv)
 Returns whether the given dense subvector is in default state. More...
 
template<typename VT , bool AF, bool TF>
bool blaze::isIntact (const DenseSubvector< VT, AF, TF > &dv)
 Returns whether the invariants of the given dense subvector vector are intact. More...
 
template<typename VT , bool AF, bool TF>
bool blaze::isSame (const DenseSubvector< VT, AF, TF > &a, const DenseVector< VT, TF > &b)
 Returns whether the given dense vector and subvector represent the same observable state. More...
 
template<typename VT , bool AF, bool TF>
bool blaze::isSame (const DenseVector< VT, TF > &a, const DenseSubvector< VT, AF, TF > &b)
 Returns whether the given dense vector and subvector represent the same observable state. More...
 
template<typename VT , bool AF, bool TF>
bool blaze::isSame (const DenseSubvector< VT, AF, TF > &a, const DenseSubvector< VT, AF, TF > &b)
 Returns whether the two given subvectors represent the same observable state. More...
 

Detailed Description

Function Documentation

template<typename VT , bool AF, bool TF>
void blaze::clear ( DenseSubvector< VT, AF, TF > &  dv)
inline

Clearing the given dense subvector.

Parameters
dvThe dense subvector to be cleared.
Returns
void
template<typename VT , bool AF, bool TF>
bool blaze::isDefault ( const DenseSubvector< VT, AF, TF > &  dv)
inline

Returns whether the given dense subvector is in default state.

Parameters
dvThe dense subvector to be tested for its default state.
Returns
true in case the given subvector is component-wise zero, false otherwise.

This function checks whether the dense subvector is in default state. For instance, in case the subvector is instantiated for a vector of built-in integral or floating point data type, the function returns true in case all subvector elements are 0 and false in case any subvector element is not 0. The following example demonstrates the use of the isDefault function:

// ... Resizing and initialization
if( isDefault( subvector( v, 10UL, 20UL ) ) ) { ... }
template<typename VT , bool AF, bool TF>
bool blaze::isIntact ( const DenseSubvector< VT, AF, TF > &  dv)
inline

Returns whether the invariants of the given dense subvector vector are intact.

Parameters
dvThe dense subvector to be tested.
Returns
true in case the given subvector's invariants are intact, false otherwise.

This function checks whether the invariants of the dense subvector 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( subvector( v, 10UL, 20UL ) ) ) { ... }
template<typename VT , bool AF, bool TF>
bool blaze::isSame ( const DenseSubvector< VT, AF, TF > &  a,
const DenseVector< VT, TF > &  b 
)
inline

Returns whether the given dense vector and subvector represent the same observable state.

Parameters
aThe dense subvector to be tested for its state.
bThe dense vector to be tested for its state.
Returns
true in case the dense subvector and vector share a state, false otherwise.

This overload of the isSame function tests if the given subvector refers to the entire range of the given dense vector and by that represents the same observable state. In this case, the function returns true, otherwise it returns false.

template<typename VT , bool AF, bool TF>
bool blaze::isSame ( const DenseVector< VT, TF > &  a,
const DenseSubvector< VT, AF, TF > &  b 
)
inline

Returns whether the given dense vector and subvector represent the same observable state.

Parameters
aThe dense vector to be tested for its state.
bThe dense subvector to be tested for its state.
Returns
true in case the dense vector and subvector share a state, false otherwise.

This overload of the isSame function tests if the given subvector refers to the entire range of the given dense vector and by that represents the same observable state. In this case, the function returns true, otherwise it returns false.

template<typename VT , bool AF, bool TF>
bool blaze::isSame ( const DenseSubvector< VT, AF, TF > &  a,
const DenseSubvector< VT, AF, TF > &  b 
)
inline

Returns whether the two given subvectors represent the same observable state.

Parameters
aThe first dense subvector to be tested for its state.
bThe second dense subvector to be tested for its state.
Returns
true in case the two subvectors share a state, false otherwise.

This overload of the isSame function tests if the two given subvectors refer to exactly the same range of the same dense vector. In case both subvectors represent the same observable state, the function returns true, otherwise it returns false.

template<typename VT , bool AF, bool TF>
void blaze::reset ( DenseSubvector< VT, AF, TF > &  dv)
inline

Resetting the given dense subvector.

Parameters
dvThe dense subvector to be resetted.
Returns
void