35 #ifndef BASEFLOATMATRIXDATA_H
36 #define BASEFLOATMATRIXDATA_H
58 pTotalElementCount(0), pTotalAllocatedElementCount(0), pDimensionSizes(),
59 pDataRowSize(0), p2DDataSliceSize (0), pMatrixData (NULL)
66 return pDimensionSizes;
72 return pTotalElementCount;
78 return pTotalAllocatedElementCount;
89 virtual void ZeroMatrix();
92 virtual void ScalarDividedBy(
const float scalar);
125 virtual void AllocateMemory();
128 virtual void FreeMemory();
Abstract base class for float based matrices defining basic interface. Higher dimensional matrices st...
virtual float * GetRawData()
Get raw data out of the class (for direct kernel access).
Abstract base class, the common ancestor defining the common interface and allowing derived classes t...
virtual size_t GetTotalElementCount() const
Get element count of the matrix.
TBaseFloatMatrix()
Default constructor.
size_t p2DDataSliceSize
Size of a 2D slab (X,Y).
size_t pTotalAllocatedElementCount
Total number of allocated elements (in terms of floats).
virtual TDimensionSizes GetDimensionSizes() const
Get dimension sizes of the matrix.
size_t pTotalElementCount
Total number of elements.
virtual size_t GetTotalAllocatedElementCount() const
Get total allocated element count (might differ from total element count used for the simulation beca...
size_t pDataRowSize
Size of a 1D row in X dimension.
The header file containing the structure with 3D dimension sizes.
virtual ~TBaseFloatMatrix()
Destructor.
float * pMatrixData
Raw matrix data.
The header file of the common ancestor of all matrix classes. A pure abstract class.
virtual const float * GetRawData() const
Get raw data out of the class (for direct kernel access).
Structure with 4D dimension sizes (3 in space and 1 in time).