SparseLibrary  Version 1.6.0
Public Member Functions | List of all members
HilbertArrayInterface< T > Class Template Referenceabstract

Class providing an interface to an efficient storage of a 1D array of Hilbert coordinate increments. More...

#include <HilbertArray.hpp>

Inheritance diagram for HilbertArrayInterface< T >:
Inheritance graph
[legend]

Public Member Functions

virtual void zax (const T *__restrict__ const &x, T *__restrict__ const &y, const T *__restrict__ &v, const T *__restrict__ const &v_end)=0
 Does a zax-operation using the moveToStart and moveToNext functionalities. More...
 
virtual void zxa (const T *__restrict__ const &x, T *__restrict__ const &y, const T *__restrict__ &v, const T *__restrict__ const &v_end)=0
 Does a zxa-operation using the moveToStart and moveToNext functionalities. More...
 
virtual size_t bytesUsed ()=0
 Gets the amount of storage used. More...
 
virtual ULI getFirstColumnIndex ()=0
 Gets the first column index. More...
 
virtual ULI getFirstRowIndex ()=0
 Gets the first row index. More...
 
virtual void moveToStart (const T *__restrict__ &x, T *__restrict__ &y, const T &v)=0
 Moves this interface and the two given vectors to the start location. More...
 
virtual void moveToNext (const T *__restrict__ &x, T *__restrict__ &y, const T &v)=0
 Moves this interface and the two given vectors to the next position. More...
 
virtual ~HilbertArrayInterface ()
 Base deconstructor. More...
 

Detailed Description

template<typename T>
class HilbertArrayInterface< T >

Class providing an interface to an efficient storage of a 1D array of Hilbert coordinate increments.

Includes functionality to translate increments into 2D movements applied on two vectors of a template type T. This interface is best viewed as an iterator.

Constructor & Destructor Documentation

template<typename T >
virtual HilbertArrayInterface< T >::~HilbertArrayInterface ( )
inlinevirtual

Base deconstructor.

Member Function Documentation

template<typename T >
virtual size_t HilbertArrayInterface< T >::bytesUsed ( )
pure virtual

Gets the amount of storage used.

Implemented in HilbertArray< T, I, hI, mI >.

template<typename T >
virtual ULI HilbertArrayInterface< T >::getFirstColumnIndex ( )
pure virtual

Gets the first column index.

Implemented in HilbertArray< T, I, hI, mI >.

template<typename T >
virtual ULI HilbertArrayInterface< T >::getFirstRowIndex ( )
pure virtual

Gets the first row index.

Implemented in HilbertArray< T, I, hI, mI >.

template<typename T >
virtual void HilbertArrayInterface< T >::moveToNext ( const T *__restrict__ &  x,
T *__restrict__ &  y,
const T &  v 
)
pure virtual

Moves this interface and the two given vectors to the next position.

Implemented in HilbertArray< T, I, hI, mI >.

template<typename T >
virtual void HilbertArrayInterface< T >::moveToStart ( const T *__restrict__ &  x,
T *__restrict__ &  y,
const T &  v 
)
pure virtual

Moves this interface and the two given vectors to the start location.

Implemented in HilbertArray< T, I, hI, mI >.

template<typename T >
virtual void HilbertArrayInterface< T >::zax ( const T *__restrict__ const &  x,
T *__restrict__ const &  y,
const T *__restrict__ &  v,
const T *__restrict__ const &  v_end 
)
pure virtual

Does a zax-operation using the moveToStart and moveToNext functionalities.

Implemented in HilbertArray< T, I, hI, mI >.

template<typename T >
virtual void HilbertArrayInterface< T >::zxa ( const T *__restrict__ const &  x,
T *__restrict__ const &  y,
const T *__restrict__ &  v,
const T *__restrict__ const &  v_end 
)
pure virtual

Does a zxa-operation using the moveToStart and moveToNext functionalities.

Implemented in HilbertArray< T, I, hI, mI >.


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