Blaze 3.9
Classes

Classes

class  blaze::ZeroVector< Type, TF, Tag >
 Efficient implementation of an arbitrary sized zero vector. More...
 

ZeroVector operators

template<RelaxationFlag RF, typename Type , bool TF, typename Tag >
constexpr bool blaze::isDefault (const ZeroVector< Type, TF, Tag > &v) noexcept
 Returns whether the given zero vector is in default state. More...
 
template<typename Type , bool TF, typename Tag >
constexpr bool blaze::isIntact (const ZeroVector< Type, TF, Tag > &v) noexcept
 Returns whether the invariants of the given zero vector are intact. More...
 
template<typename Type , bool TF, typename Tag >
constexpr void blaze::swap (ZeroVector< Type, TF, Tag > &a, ZeroVector< Type, TF, Tag > &b) noexcept
 Swapping the contents of two zero vectors. More...
 
template<typename T , bool TF = defaultTransposeFlag>
constexpr decltype(auto) blaze::zero (size_t n) noexcept
 Creating a zero vector. More...
 
template<typename VT , bool TF>
ZeroVector< ElementType_t< VT >, TF > blaze::declzero (const Vector< VT, TF > &v)
 Declares the given vector expression v as zero vector. More...
 

Detailed Description

Function Documentation

◆ declzero()

template<typename VT , bool TF>
ZeroVector< ElementType_t< VT >, TF > blaze::declzero ( const Vector< VT, TF > &  v)
inline

Declares the given vector expression v as zero vector.

Parameters
vThe input vector.
Returns
The redeclared vector.

The declzero function declares the given dense or sparse vector expression m as zero vector. The following example demonstrates the use of the declzero function:

// ... Resizing and initialization
b = declzero( a );
Efficient implementation of an arbitrary sized zero vector.
Definition: ZeroVector.h:183
ZeroMatrix< ElementType_t< MT >, SO > declzero(const Matrix< MT, SO > &m)
Declares the given matrix expression m as zero matrix.
Definition: ZeroMatrix.h:1382

◆ isDefault()

template<RelaxationFlag RF, typename Type , bool TF, typename Tag >
constexpr bool blaze::isDefault ( const ZeroVector< Type, TF, Tag > &  v)
constexprnoexcept

Returns whether the given zero vector is in default state.

Parameters
vThe zero vector to be tested for its default state.
Returns
true in case the given vector's size is zero, false otherwise.

This function checks whether the zero vector is in default (constructed) state, i.e. if it's size 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( z ) ) { ... }
bool isDefault(const DiagonalMatrix< MT, SO, DF > &m)
Returns whether the given diagonal matrix is in default state.
Definition: DiagonalMatrix.h:169

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

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

◆ isIntact()

template<typename Type , bool TF, typename Tag >
constexpr bool blaze::isIntact ( const ZeroVector< Type, TF, Tag > &  v)
constexprnoexcept

Returns whether the invariants of the given zero vector are intact.

Parameters
vThe zero vector to be tested.
Returns
true in case the given vector's invariants are intact, false otherwise.

This function checks whether the invariants of the zero vector 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( z ) ) { ... }
bool isIntact(const DiagonalMatrix< MT, SO, DF > &m)
Returns whether the invariants of the given diagonal matrix are intact.
Definition: DiagonalMatrix.h:207

◆ swap()

template<typename Type , bool TF, typename Tag >
constexpr void blaze::swap ( ZeroVector< Type, TF, Tag > &  a,
ZeroVector< Type, TF, Tag > &  b 
)
constexprnoexcept

Swapping the contents of two zero vectors.

Parameters
aThe first zero vector to be swapped.
bThe second zero vector to be swapped.
Returns
void

◆ zero()

template<typename T , bool TF = defaultTransposeFlag>
constexpr decltype(auto) blaze::zero ( size_t  n)
constexprnoexcept

Creating a zero vector.

Parameters
nThe size of the zero vector.
Returns
A zero vector of the given size.

This function creates a zero vector of the given element type and size. By default, the resulting zero vector is a column vector, but it is possible to specify the transpose flag explicitly:

// Creates the zero column vector ( 0, 0, 0, 0, 0 )
auto z1 = zero<int>( 5UL );
// Creates the zero column vector ( 0.0, 0.0, 0.0 )
auto z2 = zero<double,columnVector>( 3UL );
// Creates the zero row vector ( 0U, 0U, 0U, 0U )
auto z3 = zero<unsigned int,rowVector>( 4UL );
constexpr decltype(auto) zero(size_t m, size_t n) noexcept
Creating a zero matrix.
Definition: ZeroMatrix.h:1356
constexpr bool columnVector
Transpose flag for column vectors.
Definition: TransposeFlag.h:58
constexpr bool rowVector
Transpose flag for row vectors.
Definition: TransposeFlag.h:73