OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Attributes | List of all members
CompressedBrickIterator< T, Dim > Class Template Reference

#include <CompressedBrickIterator.h>

Inheritance diagram for CompressedBrickIterator< T, Dim >:
Inheritance graph
[legend]
Collaboration diagram for CompressedBrickIterator< T, Dim >:
Collaboration graph
[legend]

Public Member Functions

 CompressedBrickIterator (T *t, const NDIndex< Dim > &c, const NDIndex< Dim > &a, T &compressed)
 
 CompressedBrickIterator (T *t, const vec< int, Dim > &v, T &compressed)
 
 CompressedBrickIterator (T &t)
 
 CompressedBrickIterator ()
 
 CompressedBrickIterator (const NDIndex< Dim > &a, T &compressed)
 
 CompressedBrickIterator (const BrickIterator< T, Dim > &x, T &compressed)
 
bool IsCompressed () const
 
bool CanCompress (const T &) const
 
void Compress (T &val)
 
bool TryCompress ()
 
bool TryCompress (T val)
 
const CompressedBrickIterator< T, Dim > & operator= (const CompressedBrickIterator< T, Dim > &rhs)
 
 CompressedBrickIterator (const CompressedBrickIterator< T, Dim > &X)
 
MessageputMessage (Message &m, bool makecopy=true)
 
MessagegetMessage (Message &m)
 
CompressedBrickIterator< T, 1 > permute (NDIndex< Dim > &current, NDIndex< 1 > &permuted) const
 
CompressedBrickIterator< T, 2 > permute (NDIndex< Dim > &current, NDIndex< 2 > &permuted) const
 
CompressedBrickIterator< T, 3 > permute (NDIndex< Dim > &current, NDIndex< 3 > &permuted) const
 
CompressedBrickIterator< T, 4 > permute (NDIndex< Dim > &current, NDIndex< 4 > &permuted) const
 
CompressedBrickIterator< T, 5 > permute (NDIndex< Dim > &current, NDIndex< 5 > &permuted) const
 
CompressedBrickIterator< T, 6 > permute (NDIndex< Dim > &current, NDIndex< 6 > &permuted) const
 
void SetCurrent (T *p)
 
void SetCount (int d, int count)
 
void ResetCounter (int d)
 
void SetStride (int d, int stride)
 
int GetStride (int d) const
 
T & GetCompressedData () const
 
void SetCompressedData (T *newData)
 
- Public Member Functions inherited from BrickIterator< T, Dim >
 BrickIterator ()
 
 BrickIterator (T *, const NDIndex< Dim > &, const NDIndex< Dim > &)
 
 BrickIterator (T *, const vec< int, Dim > &)
 
BrickIteratoroperator++ ()
 
bool whole () const
 
bool operator== (const BrickIterator< T, Dim > &a) const
 
bool operator!= (const BrickIterator< T, Dim > &a) const
 
T & operator* () const
 
void step (unsigned d)
 
void rewind (unsigned d)
 
T & offset (int i) const
 
T & offset (int i, int j) const
 
T & offset (int i, int j, int k) const
 
T & offset (int *i) const
 
T & unit_offset (int i) const
 
T & unit_offset (int i, int j) const
 
T & unit_offset (int i, int j, int k) const
 
void moveBy (int i)
 
void moveBy (int i, int j)
 
void moveBy (int i, int j, int k)
 
void moveBy (const int *i)
 
int Stride (int i) const
 
MessageputMessage (Message &, bool makecopy=true)
 
MessagegetMessage (Message &)
 
PETE_Expr_t MakeExpression () const
 
- Public Member Functions inherited from BrickCounter< Dim >
 BrickCounter ()
 
 BrickCounter (const NDIndex< Dim > &)
 
BrickCounteroperator++ ()
 
bool done (unsigned d) const
 
void step (unsigned d)
 
void rewind (unsigned d)
 
int size (unsigned d) const
 
int GetOffset (unsigned d) const
 

Private Attributes

T * CompressedData
 

Additional Inherited Members

- Public Types inherited from BrickIterator< T, Dim >
typedef T PETE_Return_t
 
typedef BrickIterator< T, DimPETE_Expr_t
 
- Protected Member Functions inherited from BrickIterator< T, Dim >
void op_pp ()
 
- Protected Member Functions inherited from BrickCounter< Dim >
void op_pp ()
 
- Protected Attributes inherited from BrickIterator< T, Dim >
T *__restrict__ Current
 
vec< int, DimStrides
 
bool Whole
 
- Protected Attributes inherited from BrickCounter< Dim >
vec< int, DimCounters
 
vec< int, DimCounts
 

Detailed Description

template<class T, unsigned Dim>
class CompressedBrickIterator< T, Dim >

Definition at line 48 of file CompressedBrickIterator.h.

Constructor & Destructor Documentation

◆ CompressedBrickIterator() [1/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( T *  t,
const NDIndex< Dim > &  c,
const NDIndex< Dim > &  a,
T &  compressed 
)
inline

◆ CompressedBrickIterator() [2/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( T *  t,
const vec< int, Dim > &  v,
T &  compressed 
)
inline

◆ CompressedBrickIterator() [3/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( T &  t)
inline

Definition at line 84 of file CompressedBrickIterator.h.

◆ CompressedBrickIterator() [4/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( )
inline

Definition at line 88 of file CompressedBrickIterator.h.

◆ CompressedBrickIterator() [5/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( const NDIndex< Dim > &  a,
T &  compressed 
)

Definition at line 41 of file CompressedBrickIterator.hpp.

References Dim.

◆ CompressedBrickIterator() [6/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( const BrickIterator< T, Dim > &  x,
T &  compressed 
)
inline

Definition at line 96 of file CompressedBrickIterator.h.

◆ CompressedBrickIterator() [7/7]

template<class T , unsigned Dim>
CompressedBrickIterator< T, Dim >::CompressedBrickIterator ( const CompressedBrickIterator< T, Dim > &  X)

Definition at line 340 of file CompressedBrickIterator.hpp.

Member Function Documentation

◆ CanCompress()

template<class T , unsigned Dim>
bool CompressedBrickIterator< T, Dim >::CanCompress ( const T &  val) const

Definition at line 198 of file CompressedBrickIterator.hpp.

References all_values_equal(), and Dim.

Referenced by BareField< T, Dim >::accumGuardCells().

Here is the call graph for this function:

◆ Compress()

template<class T , unsigned Dim>
void CompressedBrickIterator< T, Dim >::Compress ( T &  val)

Definition at line 359 of file CompressedBrickIterator.hpp.

References Dim.

◆ GetCompressedData()

template<class T , unsigned Dim>
T & CompressedBrickIterator< T, Dim >::GetCompressedData ( ) const
inline

Definition at line 169 of file CompressedBrickIterator.h.

References CompressedBrickIterator< T, Dim >::CompressedData.

Referenced by permute().

◆ getMessage()

template<class T , unsigned Dim>
Message & CompressedBrickIterator< T, Dim >::getMessage ( Message m)

◆ GetStride()

template<class T , unsigned Dim>
int CompressedBrickIterator< T, Dim >::GetStride ( int  d) const
inline

Definition at line 168 of file CompressedBrickIterator.h.

Referenced by permute().

◆ IsCompressed()

template<class T , unsigned Dim>
bool CompressedBrickIterator< T, Dim >::IsCompressed ( ) const
inline

◆ operator=()

template<class T , unsigned Dim>
const CompressedBrickIterator< T, Dim > & CompressedBrickIterator< T, Dim >::operator= ( const CompressedBrickIterator< T, Dim > &  rhs)

◆ permute() [1/6]

template<class T , unsigned Dim>
CompressedBrickIterator< T, 1 > CompressedBrickIterator< T, Dim >::permute ( NDIndex< Dim > &  current,
NDIndex< 1 > &  permuted 
) const
inline

Definition at line 146 of file CompressedBrickIterator.h.

References permute().

Referenced by IndexedLocalAssign(), and IndexedSend().

Here is the call graph for this function:

◆ permute() [2/6]

template<class T , unsigned Dim>
CompressedBrickIterator< T, 2 > CompressedBrickIterator< T, Dim >::permute ( NDIndex< Dim > &  current,
NDIndex< 2 > &  permuted 
) const
inline

Definition at line 149 of file CompressedBrickIterator.h.

References permute().

Here is the call graph for this function:

◆ permute() [3/6]

template<class T , unsigned Dim>
CompressedBrickIterator< T, 3 > CompressedBrickIterator< T, Dim >::permute ( NDIndex< Dim > &  current,
NDIndex< 3 > &  permuted 
) const
inline

Definition at line 152 of file CompressedBrickIterator.h.

References permute().

Here is the call graph for this function:

◆ permute() [4/6]

template<class T , unsigned Dim>
CompressedBrickIterator< T, 4 > CompressedBrickIterator< T, Dim >::permute ( NDIndex< Dim > &  current,
NDIndex< 4 > &  permuted 
) const
inline

Definition at line 155 of file CompressedBrickIterator.h.

References permute().

Here is the call graph for this function:

◆ permute() [5/6]

template<class T , unsigned Dim>
CompressedBrickIterator< T, 5 > CompressedBrickIterator< T, Dim >::permute ( NDIndex< Dim > &  current,
NDIndex< 5 > &  permuted 
) const
inline

Definition at line 158 of file CompressedBrickIterator.h.

References permute().

Here is the call graph for this function:

◆ permute() [6/6]

template<class T , unsigned Dim>
CompressedBrickIterator< T, 6 > CompressedBrickIterator< T, Dim >::permute ( NDIndex< Dim > &  current,
NDIndex< 6 > &  permuted 
) const
inline

Definition at line 161 of file CompressedBrickIterator.h.

References permute().

Here is the call graph for this function:

◆ putMessage()

template<class T , unsigned Dim>
Message & CompressedBrickIterator< T, Dim >::putMessage ( Message m,
bool  makecopy = true 
)

Definition at line 220 of file CompressedBrickIterator.hpp.

References Dim, Message::put(), BrickIterator< T, Dim >::putMessage(), and putMessage().

Referenced by FieldDataSource< T, Dim, M, C >::gather_data(), and IndexedSend().

Here is the call graph for this function:

◆ ResetCounter()

template<class T , unsigned Dim>
void CompressedBrickIterator< T, Dim >::ResetCounter ( int  d)
inline

Definition at line 166 of file CompressedBrickIterator.h.

◆ SetCompressedData()

template<class T , unsigned Dim>
void CompressedBrickIterator< T, Dim >::SetCompressedData ( T *  newData)
inline

◆ SetCount()

template<class T , unsigned Dim>
void CompressedBrickIterator< T, Dim >::SetCount ( int  d,
int  count 
)
inline

Definition at line 165 of file CompressedBrickIterator.h.

◆ SetCurrent()

template<class T , unsigned Dim>
void CompressedBrickIterator< T, Dim >::SetCurrent ( T *  p)
inline

Definition at line 164 of file CompressedBrickIterator.h.

◆ SetStride()

template<class T , unsigned Dim>
void CompressedBrickIterator< T, Dim >::SetStride ( int  d,
int  stride 
)
inline

Definition at line 167 of file CompressedBrickIterator.h.

◆ TryCompress() [1/2]

template<class T , unsigned Dim>
bool CompressedBrickIterator< T, Dim >::TryCompress ( )
inline

◆ TryCompress() [2/2]

template<class T , unsigned Dim>
bool CompressedBrickIterator< T, Dim >::TryCompress ( val)

Definition at line 385 of file CompressedBrickIterator.hpp.

Member Data Documentation

◆ CompressedData

template<class T , unsigned Dim>
T* CompressedBrickIterator< T, Dim >::CompressedData
private

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