33 #ifndef BASE_FLOAT_MATRIX_H 34 #define BASE_FLOAT_MATRIX_H size_t mRowSize
Size of a 1D row in X dimension.
virtual void allocateMemory()
Aligned memory allocation (both on CPU and GPU).
virtual size_t capacity() const
The capacity of the matrix (this may differ from size due to padding, etc.).
BaseFloatMatrix()
Default constructor.
virtual size_t size() const
Size of the matrix.
float * mData
Raw matrix data.
DimensionSizes mDimensionSizes
Dimension sizes.
BaseFloatMatrix & operator=(const BaseFloatMatrix &)=delete
operator= is not allowed.
Abstract base class. The common ancestor defining the common interface and allowing derived classes t...
virtual ~BaseFloatMatrix()
Destructor.
virtual void copyData(const BaseFloatMatrix &src)
Copy data from other matrix with the same size.
Structure with 4D dimension sizes (3 in space and 1 in time).
The header file containing the structure with 3D dimension sizes.
virtual void freeMemory()
Memory allocation (both on CPU and GPU).
virtual float * getData()
Get raw data out of the class (for direct kernel access).
size_t mSize
Total number of used elements.
virtual const float * getData() const
Get raw data out of the class (for direct kernel access), const version.
virtual void scalarDividedBy(const float scalar)
Calculate matrix = scalar / matrix.
size_t mSlabSize
Size of a XY slab.
virtual const DimensionSizes & getDimensionSizes() const
Get dimension sizes of the matrix.
virtual void zeroMatrix()
Zero all elements of the matrix (NUMA first touch).
The header file of the common ancestor of all matrix classes. A pure abstract class.
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...