38 #ifndef GRID_SIMPLECONTAINER_H
39 #define GRID_SIMPLECONTAINER_H
45 #include "utils/logger.h"
53 template<
class Level,
class Type>
68 ValuePosition valuePos)
81 unsigned int cacheSize,
105 for (
unsigned int i = 0; i <
m_levels[0].dimensions(); i++) {
114 double getDelta(
unsigned int n,
unsigned int level)
const
116 assert(n < MAX_DIMENSIONS);
130 void getAt(T* buf,
const double* pos,
unsigned int level = 0)
138 unsigned int level = 0)
const
142 return m_levels[level].getCounter(type);
148 #endif // GRID_SIMPLECONTAINER_H
asagi::Grid::Error init(const char *filename, const char *varname, const int *blockSize, unsigned int cacheSize, int cacheHandSpread, unsigned int level)
Initialize a level of the container.
unsigned int m_dimensions
double m_max[MAX_DIMENSIONS]
SimpleContainer(mpi::MPIComm &comm, const numa::Numa &numa, Type &type, int timeDimension, ValuePosition valuePos)
std::vector< Level > m_levels
double m_min[MAX_DIMENSIONS]
const Type & type() const
double getDelta(unsigned int n, unsigned int level) const
unsigned long getCounter(perf::Counter::CounterType type, unsigned int level=0) const
const mpi::MPIComm & comm() const
int timeDimension() const
CONTAINER_GETVAR void getAt(T *buf, const double *pos, unsigned int level=0)
ValuePosition valuePosition() const
const numa::Numa & numa() const