|
template<typename FlagUIDContainer > |
T | getMask (const FlagUIDContainer &uids) const |
| Returns the flag mask for a given container of UIDs. More...
|
|
|
| FlagField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const shared_ptr< FieldAllocator< T > > &alloc=make_shared< StdFieldAlloc< T > >()) |
| Constructor. More...
|
|
| ~FlagField () override |
| Explicitly declared destructor, needed for handling the shallow copied Registration Data. More...
|
|
FlagField< T > * | clone () const |
|
FlagField< T > * | cloneUninitialized () const |
|
FlagField< T > * | cloneShallowCopy () const |
|
|
flag_t | registerFlag (const FlagUID &uid) |
| Registers a flag. More...
|
|
flag_t | registerFlag (const FlagUID &uid, uint_t bitNr) |
| Registers a flag and forces it to a given bitNr. More...
|
|
flag_t | getFlag (const FlagUID &uid) const |
| Returns the flag mask for a given UID. More...
|
|
const FlagUID & | getFlagUID (const flag_t flag) const |
| Returns the flag UID for a given mask. More...
|
|
flag_t | getOrRegisterFlag (const FlagUID &uid) |
| Returns the flag mask for a given UID if already registered, otherwise registers flag. More...
|
|
template<typename FlagUIDContainer > |
flag_t | getMask (const FlagUIDContainer &uids) const |
|
bool | flagExists (const FlagUID &uid) const |
| Test if flag was already registered. More...
|
|
bool | flagExists (uint_t bitNr) const |
| Test if flag was already registered. More...
|
|
void | printRegistered (std::ostream &os) const |
| Prints a list of "bitNr - flagName". More...
|
|
void | printCell (std::ostream &os, const Cell &cell) const |
| Prints a list of set flags in the given cell. More...
|
|
bool | isRegistered (flag_t mask) const |
| True, if all bits that are set in the mask have been registered at this FlagField. More...
|
|
void | getAllRegisteredFlags (std::vector< FlagUID > &out) const |
| Appends the string representation of all registered flags at the given vector. More...
|
|
const std::map< FlagUID, flag_t > & | getMapping () const |
|
| GhostLayerField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Creates an uninitialized field of given size. More...
|
|
| GhostLayerField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const uint32_t &initValue, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Creates a field and initializes it with constant value. More...
|
|
| GhostLayerField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const std::vector< uint32_t > &fValues, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Creates a field and initializes f coordinate with vector values. More...
|
|
| ~GhostLayerField () override=default |
|
void | init (uint_t xSizeWithoutGhostLayer, uint_t ySizeWithoutGhostLayer, uint_t zSizeWithoutGhostLayer, uint_t nrGhostLayers, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Initializes a field, must be called exactly once. More...
|
|
void | resize (uint_t xSize, uint_t ySize, uint_t zSize) override |
| Deletes all stored data, and resizes the field. More...
|
|
void | resize (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl) |
| Deletes all stored data, and resizes the field. More...
|
|
GhostLayerField< uint32_t, fSize_ > * | clone () const |
|
GhostLayerField< uint32_t, fSize_ > * | cloneUninitialized () const |
|
GhostLayerField< uint32_t, fSize_ > * | cloneShallowCopy () const |
|
FlattenedField * | flattenedShallowCopy () const |
|
uint_t | xSizeWithGhostLayer () const |
|
uint_t | ySizeWithGhostLayer () const |
|
uint_t | zSizeWithGhostLayer () const |
|
uint_t | sizeWithGhostLayer (uint_t i) const |
|
uint_t | nrOfGhostLayers () const |
|
CellInterval | xyzSizeWithGhostLayer () const |
| Returns the x/y/z Size of the field with ghost layers. More...
|
|
void | setWithGhostLayer (const uint32_t &value) |
| Sets all entries (including the ghost layer) of the field to given value. More...
|
|
void | setWithGhostLayer (const std::vector< uint32_t > &fValues) |
| Initializes the f coordinate to values from vector, in all cells including the ghost layers Sets the entry (x,y,z,f) to fValues[f]. More...
|
|
iterator | beginWithGhostLayer () |
| Iterator over all cells, including the ghost layers. More...
|
|
const_iterator | beginWithGhostLayer () const |
|
iterator | beginWithGhostLayer (cell_idx_t numGhostLayers) |
|
const_iterator | beginWithGhostLayer (cell_idx_t numGhostLayers) const |
|
iterator | beginWithGhostLayerXYZ () |
| Iterates only over all cells including ghost layers of XYZ coordinate, f is always 0. More...
|
|
const_iterator | beginWithGhostLayerXYZ () const |
|
iterator | beginWithGhostLayerXYZ (cell_idx_t numGhostLayers) |
|
const_iterator | beginWithGhostLayerXYZ (cell_idx_t numGhostLayers) const |
|
iterator | beginGhostLayerOnly (stencil::Direction dir, bool fullSlice=false) |
| Iterates only over ghost layers of a given direction. More...
|
|
const_iterator | beginGhostLayerOnly (stencil::Direction dir, bool fullSlice=false) const |
| Const version of beginGhostLayersOnly() More...
|
|
iterator | beginGhostLayerOnly (uint_t thickness, stencil::Direction dir, bool fullSlice=false) |
| Iterates only over specified number of ghost layers of a given direction. More...
|
|
const_iterator | beginGhostLayerOnly (uint_t thickness, stencil::Direction dir, bool fullSlice=false) const |
| Const version of beginGhostLayersOnly(uint_t thickness, stencil::Direction) More...
|
|
iterator | beginGhostLayerOnlyXYZ (stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) |
| Iterates only over ghost layers of a given direction, only over xyz coordinates, f is fixed. More...
|
|
const_iterator | beginGhostLayerOnlyXYZ (stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) const |
| Const version of beginGhostLayersOnlyXYZ() More...
|
|
iterator | beginGhostLayerOnlyXYZ (uint_t thickness, stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) |
| Iterates only over ghost layers of a given direction, only over xyz coordinates, f is fixed. More...
|
|
const_iterator | beginGhostLayerOnlyXYZ (uint_t thickness, stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) const |
| Const version of beginGhostLayersOnlyXYZ() More...
|
|
iterator | beginSliceBeforeGhostLayer (stencil::Direction dir, cell_idx_t thickness=1, bool fullSlice=false) |
| Iterates only over the last slice before ghost layer. More...
|
|
const_iterator | beginSliceBeforeGhostLayer (stencil::Direction dir, cell_idx_t thickness=1, bool fullSlice=false) const |
| Const version of beginSliceBeforeGhostLayer() More...
|
|
iterator | beginSliceBeforeGhostLayerXYZ (stencil::Direction dir, cell_idx_t thickness=1, cell_idx_t f=0, bool fullSlice=false) |
| Iterates only over the last slice before ghost layer, only in XYZ direction, f is fixed. More...
|
|
const_iterator | beginSliceBeforeGhostLayerXYZ (stencil::Direction dir, cell_idx_t thickness=1, cell_idx_t f=0, bool fullSlice=false) const |
| Const version of beginSliceBeforeGhostLayerXYZ() More...
|
|
void | getGhostRegion (stencil::Direction dir, CellInterval &ghostAreaOut, cell_idx_t thickness, bool fullSlice=false) const |
|
void | getSliceBeforeGhostLayer (stencil::Direction d, CellInterval &ci, cell_idx_t thickness=1, bool fullSlice=false) const |
|
bool | isInInnerPart (const Cell &cell) const |
| Checks if a given cell is in the inner part of the field ( not in ghost region or outside ) More...
|
|
reverse_iterator | rbeginWithGhostLayer () |
| Reverse Iterator over all cells, including the ghost layers. More...
|
|
const_reverse_iterator | rbeginWithGhostLayer () const |
|
reverse_iterator | rbeginWithGhostLayerXYZ () |
| Iterates only over all cells including ghost layers of XYZ coordinate, f is always 0. More...
|
|
const_reverse_iterator | rbeginWithGhostLayerXYZ () const |
|
GhostLayerField< uint32_t, fSize_ > * | getSlicedField (const CellInterval &interval) const |
|
void | slice (const CellInterval &interval) override |
| Changes the coordinate system of the field. More...
|
|
void | shiftCoordinates (cell_idx_t cx, cell_idx_t cy, cell_idx_t cz) override |
|
uint8_t | advanceTimestep () |
|
uint8_t | getTimestep () const |
|
uint8_t | getTimestepPlusOne () const |
|
bool | isEvenTimeStep () const |
|
| Field (uint_t xSize, uint_t ySize, uint_t zSize, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Creates an uninitialized field of given size. More...
|
|
| Field (uint_t xSize, uint_t ySize, uint_t zSize, const uint32_t &initValue, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Creates a field and initializes it with constant. More...
|
|
| Field (uint_t xSize, uint_t ySize, uint_t zSize, const std::vector< uint32_t > &fValues, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| Creates a field and initializes f coordinate with vector values. More...
|
|
virtual | ~Field () |
| Destructor, using Allocator template parameter. More...
|
|
void | init (uint_t xSize, uint_t ySize, uint_t zSize, const Layout &layout=fzyx, shared_ptr< FieldAllocator< uint32_t > > alloc=shared_ptr< FieldAllocator< uint32_t > >(), uint_t innerGhostLayerSizeForAlignedAlloc=0) |
| Initializes the field with a given size, in a given layout. More...
|
|
Field< uint32_t, fSize_ > * | clone () const |
| Returns a deep copy of the current field. More...
|
|
Field< uint32_t, fSize_ > * | cloneUninitialized () const |
| Creates a new field that has equal size and layout as this field. More...
|
|
Field< uint32_t, fSize_ > * | cloneShallowCopy () const |
| Returns a shallow copy of the current field. More...
|
|
FlattenedField * | flattenedShallowCopy () const |
| Returns a flattened shallow copy of the current field. More...
|
|
uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z) |
| get function with only (x,y,z) coordinates, assumes fSize=1 More...
|
|
const uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z) const |
| get function with only (x,y,z) coordinates, assumes fSize=1 More...
|
|
uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) |
| Non-Const variant of get() More...
|
|
const uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
| Accesses the value at given coordinate. More...
|
|
uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) |
| get() variant which takes a uint_t as last coordinate, as for example Stencil::toIdx() returns More...
|
|
const uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) const |
| get() variant which takes a uint_t as last coordinate, as for example Stencil::toIdx() returns More...
|
|
uint32_t & | get (const Cell &cell) |
| get overload using a cell as input, only possible if fSize=1 More...
|
|
const uint32_t & | get (const Cell &cell) const |
| get overload using a cell as input, only possible if fSize=1 More...
|
|
uint32_t & | get (const Cell &c, cell_idx_t f) |
|
const uint32_t & | get (const Cell &c, cell_idx_t f) const |
|
uint32_t & | get (const Cell &c, uint_t f) |
|
const uint32_t & | get (const Cell &c, uint_t f) const |
|
uint32_t & | get (const base_iterator &iter) |
| get overload, where position is specified using an iterator of another field with equal size More...
|
|
const uint32_t & | get (const base_iterator &iter) const |
| get overload, where position is specified using an iterator of another field with equal size More...
|
|
uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z) |
|
const uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z) const |
|
uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) |
|
const uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
|
uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) |
|
const uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) const |
|
uint32_t & | operator() (const Cell &cell) |
|
const uint32_t & | operator() (const Cell &cell) const |
|
uint32_t & | operator() (const Cell &cell, cell_idx_t f) |
|
const uint32_t & | operator() (const Cell &cell, cell_idx_t f) const |
|
uint32_t & | operator() (const Cell &cell, uint_t f) |
|
const uint32_t & | operator() (const Cell &cell, uint_t f) const |
|
uint32_t & | operator() (const base_iterator &iter) |
|
const uint32_t & | operator() (const base_iterator &iter) const |
|
uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, stencil::Direction d) |
| returns neighboring value of cell in the given direction More...
|
|
const uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, stencil::Direction d) const |
| returns neighboring value of cell in the given direction More...
|
|
uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f, stencil::Direction d) |
| returns neighboring value of cell in the given direction More...
|
|
const uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f, stencil::Direction d) const |
| returns neighboring value of cell in the given direction More...
|
|
uint32_t & | getNeighbor (const Cell &cell, stencil::Direction d) |
| get overload using a cell as input, only possible if fSize=1, with neighbor access More...
|
|
const uint32_t & | getNeighbor (const Cell &cell, stencil::Direction d) const |
| get overload using a cell as input, only possible if fSize=1, with neighbor access More...
|
|
uint32_t & | getF (uint32_t *const xyz0, const cell_idx_t f) |
|
const uint32_t & | getF (const uint32_t *const xyz0, const cell_idx_t f) const |
|
uint32_t & | getF (uint32_t *const xyz0, const uint_t f) |
|
const uint32_t & | getF (const uint32_t *const xyz0, const uint_t f) const |
|
void | set (const uint32_t &value) |
| Sets all entries of the field to given value. More...
|
|
void | set (const std::vector< uint32_t > &fValues) |
| Initializes the f coordinate to values from vector Sets the entry (x,y,z,f) to fValues[f]. More...
|
|
void | set (const Field< uint32_t, fSize_ > &other) |
| Copies all entries of the given field to this field. More...
|
|
void | set (const Field< uint32_t, fSize_ > *other) |
|
void | swapDataPointers (Field< uint32_t, fSize_ > &other) |
| Swap two fields efficiently by exchanging only values_ pointer The two fields have to have identical sizes and same layout. More...
|
|
void | swapDataPointers (Field< uint32_t, fSize_ > *other) |
|
bool | operator== (const Field< uint32_t, fSize_ > &other) const |
| Equality operator compares element-wise. More...
|
|
bool | operator!= (const Field< uint32_t, fSize_ > &other) const |
| Inequality operator compares element-wise. More...
|
|
bool | hasSameAllocSize (const Field< uint32_t, fSize_ > &other) const |
| True if allocation sizes of all dimensions match. More...
|
|
bool | hasSameSize (const Field< uint32_t, fSize_ > &other) const |
| True if sizes of all dimensions match. More...
|
|
iterator | begin () |
| Returns iterator, which can iterate over complete field in a suitable order depending on layout. More...
|
|
const_iterator | begin () const |
|
iterator | beginXYZ () |
| Iterates only over XYZ coordinate, f is always 0. More...
|
|
const_iterator | beginXYZ () const |
|
iterator | beginSlice (cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, cell_idx_t xEnd, cell_idx_t yEnd, cell_idx_t zEnd, cell_idx_t fEnd) |
| Returns iterator which iterates over a sub-block of the field. More...
|
|
const_iterator | beginSlice (cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, cell_idx_t xEnd, cell_idx_t yEnd, cell_idx_t zEnd, cell_idx_t fEnd) const |
| Const variant of beginSlice() More...
|
|
iterator | beginSliceXYZ (const CellInterval &interval, cell_idx_t f=0) |
| Returns iterator which iterates over a slice, but only in x,y,z coordinates. More...
|
|
const_iterator | beginSliceXYZ (const CellInterval &interval, cell_idx_t f=0) const |
| Const variant of beginSliceXYZ() More...
|
|
const iterator & | end () |
|
const const_iterator & | end () const |
|
reverse_iterator | rbegin () |
| Returns reverse iterator, which can iterate over complete field in a suitable order depending on layout. More...
|
|
const_reverse_iterator | rbegin () const |
|
reverse_iterator | rbeginXYZ () |
| Iterates only over XYZ coordinate, f is always 0. More...
|
|
const_reverse_iterator | rbeginXYZ () const |
|
const reverse_iterator & | rend () |
|
const const_reverse_iterator & | rend () const |
|
uint_t | xSize () const |
|
uint_t | ySize () const |
|
uint_t | zSize () const |
|
uint_t | fSize () const |
|
uint_t | size (uint_t coord) const |
|
uint_t | xAllocSize () const |
|
uint_t | yAllocSize () const |
|
uint_t | zAllocSize () const |
|
uint_t | fAllocSize () const |
|
uint_t | allocSize () const |
|
CellInterval | xyzSize () const |
|
CellInterval | xyzAllocSize () const |
|
Layout | layout () const |
|
int64_t | xStride () const |
|
int64_t | yStride () const |
|
int64_t | zStride () const |
|
int64_t | fStride () const |
|
cell_idx_t | xOff () const |
|
cell_idx_t | yOff () const |
|
cell_idx_t | zOff () const |
|
bool | coordinatesValid (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
|
Field< uint32_t, fSize_ > * | getSlicedField (const CellInterval &interval) const |
| Create a different "view" of the field, where the created field has the size of the given sliceInterval. More...
|
|
uint32_t * | data () |
|
const uint32_t * | data () const |
|
uint32_t * | dataAt (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) |
|
const uint32_t * | dataAt (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
|
uint32_t * | dataInner () |
|
const uint32_t * | dataInner () const |
|
shared_ptr< FieldAllocator< uint32_t > > | getAllocator () const |
| Returns internal data allocator. More...
|
|
void | addMonitoringFunction (const MonitorFunction &func) |
| Registers a monitoring function. More...
|
|