SpinParser  1.0
Public Member Functions | List of all members
ValueSuperbundle< T, n > Struct Template Reference

Collection of ValueBundles. More...

#include <ValueBundle.hpp>

Public Member Functions

 ValueSuperbundle (const int bundleSize)
 Construct a new ValueSuperbundle object and allocate ValueBundles. More...
 
 ValueSuperbundle (const ValueSuperbundle &rhs)
 Copy constructor. The copy will not have ownership of the ValueBundle memory. More...
 
 ~ValueSuperbundle ()
 Destroy the ValueSuperbundle object.
 
ValueBundle< T > & bundle (const int m)
 Return reference to ValueBundle. More...
 
ValueSuperbundlereset ()
 Write zeros to all ValueBundles. More...
 
ValueSuperbundlemultAdd (const T &rhs1, const ValueSuperbundle< T, n > &rhs2)
 Fused multiply-add on all ValueBundles. More...
 
ValueSuperbundleoperator*= (const T &rhs)
 Multiplication assignent. More...
 
ValueSuperbundleoperator/= (const T &rhs)
 Division assignment. More...
 
ValueSuperbundleoperator+= (const ValueSuperbundle< T, n > &rhs)
 Addition assignment. More...
 

Detailed Description

template<class T, int n>
struct ValueSuperbundle< T, n >

Collection of ValueBundles.

Template Parameters
TFundamental data type of the ValueBundles.
nNumber of ValueBundles in the collection.

Constructor & Destructor Documentation

◆ ValueSuperbundle() [1/2]

template<class T , int n>
ValueSuperbundle< T, n >::ValueSuperbundle ( const int  bundleSize)
inline

Construct a new ValueSuperbundle object and allocate ValueBundles.

Parameters
bundleSizeNumber of elements in each ValueBundle.

◆ ValueSuperbundle() [2/2]

template<class T , int n>
ValueSuperbundle< T, n >::ValueSuperbundle ( const ValueSuperbundle< T, n > &  rhs)
inline

Copy constructor. The copy will not have ownership of the ValueBundle memory.

Parameters
rhsRight hand side operand.

Member Function Documentation

◆ bundle()

template<class T , int n>
ValueBundle<T>& ValueSuperbundle< T, n >::bundle ( const int  m)
inline

Return reference to ValueBundle.

Parameters
mId of the ValueBundle.
Returns
ValueBundle<T>& Reference to the m-th ValueBundle.

◆ multAdd()

template<class T , int n>
ValueSuperbundle& ValueSuperbundle< T, n >::multAdd ( const T &  rhs1,
const ValueSuperbundle< T, n > &  rhs2 
)
inline

Fused multiply-add on all ValueBundles.

Parameters
rhs1Scalar operand.
rhs2Array operand.
Returns
ValueSuperbundle& Reference to self.

◆ operator*=()

template<class T , int n>
ValueSuperbundle& ValueSuperbundle< T, n >::operator*= ( const T &  rhs)
inline

Multiplication assignent.

Parameters
rhsRight hand side operator.
Returns
ValueSuperbundle& Reference to self.

◆ operator+=()

template<class T , int n>
ValueSuperbundle& ValueSuperbundle< T, n >::operator+= ( const ValueSuperbundle< T, n > &  rhs)
inline

Addition assignment.

Parameters
rhsRight hand side operator.
Returns
ValueSuperbundle& Reference to self.

◆ operator/=()

template<class T , int n>
ValueSuperbundle& ValueSuperbundle< T, n >::operator/= ( const T &  rhs)
inline

Division assignment.

Parameters
rhsRight hand side operator.
Returns
ValueSuperbundle& Reference to self.

◆ reset()

template<class T , int n>
ValueSuperbundle& ValueSuperbundle< T, n >::reset ( )
inline

Write zeros to all ValueBundles.

Returns
ValueSuperbundle& Reference to self.

The documentation for this struct was generated from the following file: