94 complexDims.
nx = 2 * complexDims.
nx;
112 const size_t compressionLevel)
116 complexDims.
nx = 2 * complexDims.
nx;
size_t nx
number of elements in the x direction
Abstract base class for float based matrices defining basic interface. Higher dimensional matrices st...
float * hostData
Raw CPU matrix data.
hid_t CreateFloatDataset(const hid_t parentGroup, TMatrixName &datasetName, const TDimensionSizes &dimensionSizes, const TDimensionSizes &chunkSizes, const size_t compressionLevel)
Create a float HDF5 dataset at a specified place in the file tree (3D/4D).
void WriteMatrixDomainType(const hid_t parentGroup, TMatrixName &datasetName, const TMatrixDomainType &matrixDomainType)
Write matrix domain type into the dataset under the root group.
virtual void ReadDataFromHDF5File(THDF5_File &file, TMatrixName &matrixName)
Load data from the HDF5_File.
virtual void FreeMemory()
Memory allocation (both on CPU and GPU).
virtual ~TComplexMatrix()
Destructor.
virtual void AllocateMemory()
Memory allocation (both on CPU and GPU).
struct TDimensionSizes dimensionSizes
Dimension sizes.
virtual void InitDimensions(const TDimensionSizes &dimensionSizes)
Initialize dimension sizes and related structures.
THDF5_File::TMatrixDataType ReadMatrixDataType(const hid_t parentGroup, TMatrixName &datasetName)
Read matrix data type from the dataset.
TErrorMessage ERR_FMT_MATRIX_NOT_FLOAT
Matrix class error message.
size_t nAllocatedElements
Total number of allocated elements (in terms of floats).
virtual void WriteDataToHDF5File(THDF5_File &file, TMatrixName &matrixName, const size_t compressionLevel)
Write data into the HDF5_File.
const std::string TMatrixName
Datatype for matrix names.
void WriteMatrixDataType(const hid_t parentGroup, TMatrixName &datasetName, const TMatrixDataType &matrixDataType)
Write matrix data type into the dataset under a specified group.
The header file containing a class responsible for printing out info and error messages (stdout...
hid_t GetRootGroup() const
Get handle to the root group.
size_t ny
number of elements in the y direction
size_t nElements
Total number of elements.
The header file with the class for complex matrices.
TComplexMatrix()
Default constructor not allowed for public.
TErrorMessage ERR_FMT_MATRIX_NOT_COMPLEX
Matrix class error message.
TDimensionSizes()
Default constructor.
static std::string FormatMessage(const std::string &format, Args...args)
C++-11 replacement for sprintf that works with std::string instead of char *.
THDF5_File::TMatrixDomainType ReadMatrixDomainType(const hid_t parentGroup, TMatrixName &datasetName)
Read matrix domain type from the dataset under a specified group.
size_t dataRowSize
Size of a 1D row in X dimension.
void WriteHyperSlab(const hid_t dataset, const TDimensionSizes &position, const TDimensionSizes &size, const float *data)
Write a hyper-slab into the dataset - float dataset.
size_t nz
number of elements in the z direction
void ReadCompleteDataset(const hid_t parentGroup, TMatrixName &datasetName, const TDimensionSizes &dimensionSizes, float *data)
Read data from the dataset under a specified group, float dataset.
size_t dataSlabSize
Size of a 2D slab.
void CloseDataset(const hid_t dataset)
Close the HDF5 dataset.
Class wrapping the HDF5 routines.
Structure with 4D dimension sizes (3 in space and 1 in time).