96                            const size_t compressionLevel)
   151   mSize     = dimensionSizes.
nx * dimensionSizes.
ny * dimensionSizes.
nz;
 static constexpr size_t kChunkSize1D256kB
Number of elements to get 256KB block of data. 
 
size_t mRowSize
Size of a 1D row in X dimension. 
 
virtual void allocateMemory()
Aligned memory allocation (both on CPU and GPU). 
 
virtual void writeData(Hdf5File &file, MatrixName &matrixName, const size_t compressionLevel)
Write data into HDF5 file. 
 
hid_t getRootGroup() const
Get handle to the root group of the file. 
 
size_t nz
Number of elements in the z direction. 
 
The header file containing the class for real matrices. 
 
virtual void readData(Hdf5File &file, MatrixName &matrixName)
Read matrix from HDF5 file. 
 
void initDimensions(const DimensionSizes &dimensionSizes)
Init dimension. 
 
void writeMatrixDomainType(const hid_t parentGroup, MatrixName &datasetName, const MatrixDomainType &matrixDomainType)
Write matrix data type into the dataset at a specified place in the file tree. 
 
void closeDataset(const hid_t dataset)
Close dataset. 
 
float * mData
Raw matrix data. 
 
DimensionSizes mDimensionSizes
Dimension sizes. 
 
void writeMatrixDataType(const hid_t parentGroup, MatrixName &datasetName, const MatrixDataType &matrixDataType)
Write matrix data type into the dataset at a specified place in the file tree. 
 
The header file containing a class responsible for printing out info and error messages (stdout...
 
Class wrapping the HDF5 routines. 
 
static std::string formatMessage(const std::string &format, Args ... args)
C++-11 replacement for sprintf that works with std::string instead of char*. 
 
void writeHyperSlab(const hid_t dataset, const DimensionSizes &position, const DimensionSizes &size, const T *data)
Write a hyperslab into the dataset. 
 
const std::string MatrixName
Datatype for matrix names. 
 
Structure with 4D dimension sizes (3 in space and 1 in time). 
 
static constexpr size_t kChunkSize1D4MB
Number of elements to get 4MB block of data. 
 
The matrix is stored in floating point 32b wide format. 
 
MatrixDataType readMatrixDataType(const hid_t parentGroup, MatrixName &datasetName)
Read matrix data type from the dataset at a specified place in the file tree. 
 
The header file with the class for complex matrices. 
 
size_t ny
Number of elements in the y direction. 
 
virtual void freeMemory()
Memory allocation (both on CPU and GPU). 
 
size_t mSize
Total number of used elements. 
 
void readCompleteDataset(const hid_t parentGroup, MatrixName &datasetName, const DimensionSizes &dimensionSizes, T *data)
Read data from the dataset at a specified place in the file tree. 
 
ErrorMessage kErrFmtMatrixNotReal
Matrix class error message. 
 
static constexpr size_t kChunkSize1D1MB
Number of elements to get 1MB block of data. 
 
size_t nx
Number of elements in the x direction. 
 
size_t mSlabSize
Size of a XY slab. 
 
virtual ~RealMatrix()
Destructor. 
 
hid_t createDataset(const hid_t parentGroup, MatrixName &datasetName, const DimensionSizes &dimensionSizes, const DimensionSizes &chunkSizes, const MatrixDataType matrixDataType, const size_t compressionLevel)
Create a float HDF5 dataset at a specified place in the file tree (3D/4D). 
 
RealMatrix()=delete
Default constructor is not allowed. 
 
MatrixDomainType readMatrixDomainType(const hid_t parentGroup, MatrixName &datasetName)
Read matrix dataset domain type at a specified place in the file tree. 
 
ErrorMessage kErrFmtMatrixNotFloat
Matrix class error message. 
 
The matrix is defined on real domain. 
 
size_t mCapacity
Total number of allocated elements (in terms of floats). 
 
Abstract base class for float based matrices defining basic interface. Higher dimensional matrices st...