OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
IndexedBareFieldIterator< T, Dim > Class Template Reference

#include <IndexedBareField.h>

Inheritance diagram for IndexedBareFieldIterator< T, Dim >:
Inheritance graph
Collaboration diagram for IndexedBareFieldIterator< T, Dim >:
Collaboration graph

Public Types

enum  { Dim_u = Dim }
 
typedef T return_type
 
typedef T PETE_Return_t
 
typedef BrickIterator< T, DimPETE_Expr_t
 

Public Member Functions

 IndexedBareFieldIterator ()
 
 IndexedBareFieldIterator (BareField< T, Dim > &df, const NDIndex< Dim > &idx)
 
 ~IndexedBareFieldIterator ()
 
const NDIndex< Dim > & getDomain () const
 
const BareField< T, Dim > & getBareField () const
 
BareField< T, Dim > & getBareField ()
 
template<unsigned D1, class T1 >
void FillGCIfNecessary (const BareField< T1, D1 > &lhs) const
 
template<unsigned int D2>
bool plugBase (const NDIndex< D2 > &i)
 
void SetCurrentLocation (const FieldLoc< Dim > &loc)
 
IndexedBareFieldIterator< T, Dim > & operator++ ()
 
void beginLField ()
 
void GetCurrentLocation (FieldLoc< Dim > &loc) const
 
void GetCurrentLocation (int *loc) const
 
T & operator* () const
 
void nextLField ()
 
bool done () const
 
bool done (unsigned d) const
 
bool IsCompressed () const
 
bool CanCompress () const
 
bool CanCompress (const T &) const
 
void Compress ()
 
void Compress (T val)
 
void Compress (T &val)
 
bool TryCompress ()
 
bool TryCompress (T val)
 
BareField< T, Dim > & GetBareField ()
 
const BareField< T, Dim > & GetBareField () const
 
void prepareForScalarCode (bool tryfill=true)
 
void finishScalarCode (bool modified=true)
 
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)
 
bool whole () const
 
bool operator== (const BrickIterator< T, Dim > &a) const
 
bool operator!= (const BrickIterator< T, Dim > &a) 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
 
PETE_Expr_t MakeExpression () const
 
int size (unsigned d) const
 
int GetOffset (unsigned d) const
 

Protected Member Functions

void general_increment ()
 
bool isInGC () const
 
void op_pp ()
 

Protected Attributes

NDIndex< DimI
 
BareField< T, Dim >::iterator_if CurrentLField
 
BareField< T, Dim > * MyBareField
 
dummy_compressed_data
 
int LFIndex
 
T *__restrict__ Current
 
vec< int, DimStrides
 
bool Whole
 
vec< int, DimCounters
 
vec< int, DimCounts
 

Private Attributes

T * CompressedData
 

Detailed Description

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

Definition at line 38 of file IndexedBareField.h.

Member Typedef Documentation

◆ PETE_Expr_t

template<class T , unsigned Dim>
typedef BrickIterator<T,Dim> BrickIterator< T, Dim >::PETE_Expr_t
inherited

Definition at line 175 of file BrickIterator.h.

◆ PETE_Return_t

template<class T , unsigned Dim>
typedef T BrickIterator< T, Dim >::PETE_Return_t
inherited

Definition at line 174 of file BrickIterator.h.

◆ return_type

template<class T , unsigned Dim>
typedef T IndexedBareFieldIterator< T, Dim >::return_type

Definition at line 42 of file IndexedBareField.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T , unsigned Dim>
anonymous enum
Enumerator
Dim_u 

Definition at line 41 of file IndexedBareField.h.

Constructor & Destructor Documentation

◆ IndexedBareFieldIterator() [1/2]

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

Definition at line 45 of file IndexedBareField.h.

◆ IndexedBareFieldIterator() [2/2]

template<class T , unsigned Dim>
IndexedBareFieldIterator< T, Dim >::IndexedBareFieldIterator ( BareField< T, Dim > &  df,
const NDIndex< Dim > &  idx 
)
inline

Definition at line 51 of file IndexedBareField.h.

References IndexedBareFieldIterator< T, Dim >::beginLField().

Here is the call graph for this function:

◆ ~IndexedBareFieldIterator()

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

Definition at line 60 of file IndexedBareField.h.

Member Function Documentation

◆ beginLField()

template<class T , unsigned Dim>
void IndexedBareFieldIterator< T, Dim >::beginLField ( )
inline

◆ CanCompress() [1/2]

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::CanCompress ( ) const
inlineinherited

Definition at line 225 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ CanCompress() [2/2]

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

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() [1/3]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::Compress ( )
inlineinherited

Definition at line 233 of file BareFieldIterator.h.

◆ Compress() [2/3]

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

Definition at line 359 of file CompressedBrickIterator.hpp.

References Dim.

◆ Compress() [3/3]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::Compress ( val)
inlineinherited

Definition at line 239 of file BareFieldIterator.h.

◆ done() [1/2]

◆ done() [2/2]

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::done ( unsigned  d) const
inlineinherited

Definition at line 201 of file BareFieldIterator.h.

References BrickCounter< Dim >::done().

Here is the call graph for this function:

◆ FillGCIfNecessary()

template<class T , unsigned Dim>
template<unsigned D1, class T1 >
void IndexedBareFieldIterator< T, Dim >::FillGCIfNecessary ( const BareField< T1, D1 > &  lhs) const
inline

◆ finishScalarCode()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::finishScalarCode ( bool  modified = true)
inlineinherited

Definition at line 287 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ general_increment()

template<class T , unsigned Dim>
void IndexedBareFieldIterator< T, Dim >::general_increment ( )
inlineprotected

Definition at line 184 of file IndexedBareField.h.

Referenced by IndexedBareFieldIterator< T, Dim >::operator++().

◆ GetBareField() [1/2]

template<class T , unsigned Dim>
BareField< T, Dim > & BareFieldIterator< T, Dim >::GetBareField ( )
inlineinherited

◆ getBareField() [1/2]

template<class T , unsigned Dim>
BareField< T, Dim > & IndexedBareFieldIterator< T, Dim >::getBareField ( )
inline

Definition at line 72 of file IndexedBareField.h.

References BareFieldIterator< T, Dim >::MyBareField.

◆ GetBareField() [2/2]

template<class T , unsigned Dim>
const BareField< T, Dim > & BareFieldIterator< T, Dim >::GetBareField ( ) const
inlineinherited

Definition at line 258 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ getBareField() [2/2]

template<class T , unsigned Dim>
const BareField< T, Dim > & IndexedBareFieldIterator< T, Dim >::getBareField ( ) const
inline

◆ GetCompressedData()

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

Definition at line 169 of file CompressedBrickIterator.h.

References CompressedBrickIterator< T, Dim >::CompressedData.

Referenced by permute().

◆ GetCurrentLocation() [1/2]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::GetCurrentLocation ( FieldLoc< Dim > &  loc) const
inlineinherited

◆ GetCurrentLocation() [2/2]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::GetCurrentLocation ( int *  loc) const
inlineinherited

Definition at line 162 of file BareFieldIterator.h.

References Dim, and BrickCounter< Dim >::GetOffset().

Here is the call graph for this function:

◆ getDomain()

template<class T , unsigned Dim>
const NDIndex< Dim > & IndexedBareFieldIterator< T, Dim >::getDomain ( void  ) const
inline

◆ getMessage()

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

◆ GetOffset()

template<unsigned Dim>
int BrickCounter< Dim >::GetOffset ( unsigned  d) const
inlineinherited

◆ GetStride()

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

Definition at line 168 of file CompressedBrickIterator.h.

Referenced by permute().

◆ IsCompressed()

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::IsCompressed ( ) const
inlineinherited

Definition at line 217 of file BareFieldIterator.h.

References CompressedBrickIterator< T, Dim >::IsCompressed(), and PAssert_EQ.

Referenced by for_each().

Here is the call graph for this function:

◆ isInGC()

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::isInGC ( ) const
inlineprotectedinherited

Definition at line 317 of file BareFieldIterator.h.

References Dim, and BrickCounter< Dim >::GetOffset().

Here is the call graph for this function:

◆ MakeExpression()

template<class T , unsigned Dim>
PETE_Expr_t BrickIterator< T, Dim >::MakeExpression ( ) const
inlineinherited

Definition at line 176 of file BrickIterator.h.

◆ moveBy() [1/4]

template<class T , unsigned Dim>
void BrickIterator< T, Dim >::moveBy ( const int *  i)
inlineinherited

◆ moveBy() [2/4]

◆ moveBy() [3/4]

template<class T , unsigned Dim>
void BrickIterator< T, Dim >::moveBy ( int  i,
int  j 
)
inlineinherited

◆ moveBy() [4/4]

template<class T , unsigned Dim>
void BrickIterator< T, Dim >::moveBy ( int  i,
int  j,
int  k 
)
inlineinherited

◆ nextLField()

◆ offset() [1/4]

template<class T , unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int *  i) const
inlineinherited

Definition at line 119 of file BrickIterator.h.

References BrickIterator< T, Dim >::Current, vec< T, Length >::dot(), and BrickIterator< T, Dim >::Strides.

Here is the call graph for this function:

◆ offset() [2/4]

◆ offset() [3/4]

template<class T , unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int  i,
int  j 
) const
inlineinherited

◆ offset() [4/4]

template<class T , unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int  i,
int  j,
int  k 
) const
inlineinherited

◆ op_pp()

template<class T , unsigned Dim>
void BrickIterator< T, Dim >::op_pp
protectedinherited

Definition at line 111 of file BrickIterator.hpp.

References Dim.

Referenced by BrickIterator< T, Dim >::operator++().

◆ operator!=()

template<class T , unsigned Dim>
bool BrickIterator< T, Dim >::operator!= ( const BrickIterator< T, Dim > &  a) const
inlineinherited

Definition at line 83 of file BrickIterator.h.

References a, and BrickIterator< T, Dim >::Current.

◆ operator*()

template<class T , unsigned Dim>
T & BareFieldIterator< T, Dim >::operator* ( ) const
inlineinherited

Definition at line 179 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, BrickIterator< T, Dim >::operator*(), and PAssert.

Here is the call graph for this function:

◆ operator++()

template<class T , unsigned Dim>
IndexedBareFieldIterator< T, Dim > & IndexedBareFieldIterator< T, Dim >::operator++ ( )
inline

Definition at line 146 of file IndexedBareField.h.

References IndexedBareFieldIterator< T, Dim >::general_increment(), and BrickIterator< T, Dim >::operator++().

Here is the call graph for this function:

◆ operator==()

template<class T , unsigned Dim>
bool BrickIterator< T, Dim >::operator== ( const BrickIterator< T, Dim > &  a) const
inlineinherited

Definition at line 79 of file BrickIterator.h.

References a, and BrickIterator< T, Dim >::Current.

◆ permute() [1/6]

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

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
inlineinherited

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
inlineinherited

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
inlineinherited

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
inlineinherited

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
inlineinherited

Definition at line 161 of file CompressedBrickIterator.h.

References permute().

Here is the call graph for this function:

◆ plugBase()

template<class T , unsigned Dim>
template<unsigned int D2>
bool IndexedBareFieldIterator< T, Dim >::plugBase ( const NDIndex< D2 > &  i)
inline

Definition at line 106 of file IndexedBareField.h.

References Physics::e, and IndexedBareFieldIterator< T, Dim >::I.

Referenced by for_each().

◆ prepareForScalarCode()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::prepareForScalarCode ( bool  tryfill = true)
inlineinherited

Definition at line 276 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ putMessage()

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

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)
inlineinherited

Definition at line 166 of file CompressedBrickIterator.h.

◆ rewind()

template<class T , unsigned Dim>
void BrickIterator< T, Dim >::rewind ( unsigned  d)
inlineinherited

Definition at line 100 of file BrickIterator.h.

References BrickIterator< T, Dim >::Current, BrickCounter< Dim >::rewind(), and BrickIterator< T, Dim >::Strides.

Referenced by for_each().

Here is the call graph for this function:

◆ SetCompressedData()

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

◆ SetCount()

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

Definition at line 165 of file CompressedBrickIterator.h.

◆ SetCurrent()

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

Definition at line 164 of file CompressedBrickIterator.h.

◆ SetCurrentLocation()

template<class T , unsigned Dim>
void IndexedBareFieldIterator< T, Dim >::SetCurrentLocation ( const FieldLoc< Dim > &  loc)
inline

◆ SetStride()

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

Definition at line 167 of file CompressedBrickIterator.h.

◆ size()

template<unsigned Dim>
int BrickCounter< Dim >::size ( unsigned  d) const
inlineinherited

◆ step()

template<class T , unsigned Dim>
void BrickIterator< T, Dim >::step ( unsigned  d)
inlineinherited

Definition at line 95 of file BrickIterator.h.

References BrickIterator< T, Dim >::Current, BrickCounter< Dim >::step(), and BrickIterator< T, Dim >::Strides.

Referenced by all_values_equal(), and for_each().

Here is the call graph for this function:

◆ Stride()

template<class T , unsigned Dim>
int BrickIterator< T, Dim >::Stride ( int  i) const
inlineinherited

Definition at line 160 of file BrickIterator.h.

References BrickIterator< T, Dim >::Strides.

Referenced by for_each().

◆ TryCompress() [1/2]

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::TryCompress ( )
inlineinherited

Definition at line 245 of file BareFieldIterator.h.

◆ TryCompress() [2/2]

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

Definition at line 385 of file CompressedBrickIterator.hpp.

◆ unit_offset() [1/3]

template<class T , unsigned Dim>
T & BrickIterator< T, Dim >::unit_offset ( int  i) const
inlineinherited

Definition at line 123 of file BrickIterator.h.

References BrickIterator< T, Dim >::Current.

Referenced by for_each().

◆ unit_offset() [2/3]

template<class T , unsigned Dim>
T & BrickIterator< T, Dim >::unit_offset ( int  i,
int  j 
) const
inlineinherited

◆ unit_offset() [3/3]

template<class T , unsigned Dim>
T & BrickIterator< T, Dim >::unit_offset ( int  i,
int  j,
int  k 
) const
inlineinherited

◆ whole()

template<class T , unsigned Dim>
bool BrickIterator< T, Dim >::whole ( ) const
inlineinherited

Definition at line 76 of file BrickIterator.h.

References BrickIterator< T, Dim >::Whole.

Referenced by DiscField< Dim >::write_offset_and_data().

Member Data Documentation

◆ CompressedData

◆ Counters

template<unsigned Dim>
vec<int,Dim> BrickCounter< Dim >::Counters
protectedinherited

◆ Counts

template<unsigned Dim>
vec<int,Dim> BrickCounter< Dim >::Counts
protectedinherited

Definition at line 51 of file BrickIterator.h.

Referenced by BrickCounter< Dim >::done(), and BrickCounter< Dim >::size().

◆ Current

◆ CurrentLField

template<class T , unsigned Dim>
BareField<T,Dim>::iterator_if BareFieldIterator< T, Dim >::CurrentLField
protectedinherited

◆ dummy_compressed_data

template<class T , unsigned Dim>
T BareFieldIterator< T, Dim >::dummy_compressed_data
protectedinherited

Definition at line 301 of file BareFieldIterator.h.

◆ I

◆ LFIndex

◆ MyBareField

◆ Strides

◆ Whole

template<class T , unsigned Dim>
bool BrickIterator< T, Dim >::Whole
protectedinherited

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