|
|
| | ForwardFieldIterator (const FieldType *field, cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, uint_t xs, uint_t ys, uint_t zs, uint_t fs) |
| |
| | ForwardFieldIterator () |
| |
|
| ForwardFieldIterator & | operator++ () |
| | Pre-increment operator.
|
| |
| ForwardFieldIterator & | operator-- () |
| | Pre-decrement operator.
|
| |
|
| void | incrOuter () |
| | Increments the second inner coordinate c2 Use if innermost loop is self written, which is slightly faster.
|
| |
| void | incrInner () |
| |
| bool | testInner () const |
| |
| | FieldIterator (const FieldIterator< T, fieldFSize > &other) |
| |
| FieldIterator< T, fieldFSize > & | operator= (const FieldIterator< T, fieldFSize > &other) |
| | Assignment operator.
|
| |
| bool | operator== (const FieldIterator &it) const |
| | Equal operator.
|
| |
| bool | operator!= (const FieldIterator &it) const |
| | Unequal operator.
|
| |
| | operator const FieldIterator< const T, fieldFSize > & () const |
| |
| T & | operator* () const |
| |
| T * | operator-> () const |
| |
| T & | getF (cell_idx_t cf) const |
| | For beginXYZ iterators, one often needs a specific f Assumes that iterator stands at f==0.
|
| |
| T & | getF (uint_t cf) const |
| | Equivalent to neighbor(cell_idx_t) see above.
|
| |
| T & | operator[] (cell_idx_t cf) const |
| |
| T & | operator[] (uint_t cf) const |
| |
| T & | neighbor (stencil::Direction d, cell_idx_t cf=0) const |
| | Neighbor access relative to current position.
|
| |
| T & | neighbor (stencil::Direction d, uint_t cf) const |
| | uint_t variant of above function
|
| |
| T & | neighbor (cell_idx_t cx, cell_idx_t cy, cell_idx_t cz, cell_idx_t cf=0) const |
| | Neighbor access relative to current position.
|
| |
| T & | neighbor (cell_idx_t cx, cell_idx_t cy, cell_idx_t cz, uint_t cf) const |
| | Neighbor variant that takes unsigned int as f parameter, needed since the stencil toIdx() is an unsigned int.
|
| |
| cell_idx_t | x () const |
| | In order to get x(), y(), z(), f() function as fast a possible, no if clause for the layout was introduced.
|
| |
| cell_idx_t | y () const |
| |
| cell_idx_t | z () const |
| |
| cell_idx_t | f () const |
| |
| Cell | cell () const |
| |
| void | print (std::ostream &str) const |
| |
| const FieldType * | getField () const |
| |
|
| static const uint_t | F_SIZE = fieldFSize |
| |
| | FieldIterator () |
| | Constructs an end iterator, which is represented by NULL pointers.
|
| |
| | FieldIterator (const FieldType *f, cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, uint_t xSize, uint_t ySize, uint_t zSize, uint_t fSize, bool forward) |
| |
| void | incrementLine () |
| | Increments the slower 3 coordinates, if innermost coordinate is at end.
|
| |
| void | decrementLine () |
| | Decrements the slower 3 coordinates, if innermost coordinate is at beginning.
|
| |
| void | initCoordinateAccessOptimizationPointers () |
| | Initializes pointers required for the optimized x(),y(),z(),f() functions See documentation of fastestCoord_, curX_, curY_, curZ_ and curF_.
|
| |
| T * | lineBegin_ |
| | Points to begin of fastest coordinate line.
|
| |
| T * | linePtr_ |
| | Point to current element.
|
| |
| T * | lineEnd_ |
| | Points to end of current line.
|
| |
| std::array< cell_idx_t, 3 > | cur_ |
| | In the following vectors [0] is the slowest and [3] the fastest coordinate Current values of the coordinates, forth coordinate implicitly stored in linePtr_ and if needed written to fastestCoord_.
|
| |
| std::array< uint_t, 4 > | skips_ |
| | Number of elements to skip when coordinate wraps around.
|
| |
| std::array< uint_t, 4 > | sizes_ |
| | Size of each coordinate.
|
| |
| const FieldType * | f_ |
| | Field where iterator belongs to.
|
| |
| cell_idx_t | xBegin_ |
| | Following offset values are only used in functions x(),y(),z(),f()
|
| |
| cell_idx_t | yBegin_ |
| |
| cell_idx_t | zBegin_ |
| |
| cell_idx_t | fBegin_ |
| |
| cell_idx_t | fastestCoord_ |
| |
| cell_idx_t * | curX_ |
| |
| cell_idx_t * | curY_ |
| |
| cell_idx_t * | curZ_ |
| |
| cell_idx_t * | curF_ |
| |