kspaceFirstOrder3D-OMP
1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
Abstract base class for long based matrices defining basic interface. Higher dimensional matrices stored as 1D arrays, row-major order..
#include <BaseLongMatrix.h>
Public Member Functions | |
TBaseLongMatrix () | |
Default constructor. | |
struct TDimensionSizes | GetDimensionSizes () const |
Get dimension sizes of the matrix. | |
virtual size_t | GetTotalElementCount () const |
Get total element count of the matrix. | |
virtual size_t | GetTotalAllocatedElementCount () const |
Get total allocated element count (might differ from total element count used for the simulation because of padding). | |
virtual | ~TBaseLongMatrix () |
Destructor. | |
virtual void | ZeroMatrix () |
Zero all elements of the matrix (NUMA first touch). | |
virtual long * | GetRawData () |
Get raw data out of the class (for direct kernel access). | |
Protected Member Functions | |
virtual void | AllocateMemory () |
Memory allocation. | |
virtual void | FreeMemory () |
Memory deallocation. | |
TBaseLongMatrix (const TBaseLongMatrix &src) | |
Copy constructor is not directly allowed. | |
TBaseLongMatrix & | operator= (const TBaseLongMatrix &src) |
operator = is not directly allowed | |
Protected Attributes | |
size_t | pTotalElementCount |
Total number of elements. | |
size_t | pTotalAllocatedElementCount |
Total number of allocated elements (the array size). | |
struct TDimensionSizes | pDimensionSizes |
Dimension sizes. | |
size_t | pDataRowSize |
Size of 1D row in X dimension. | |
size_t | p2DDataSliceSize |
Size of 2D slab (X,Y) | |
long * | pMatrixData |
Raw matrix data. |
Definition at line 50 of file BaseLongMatrix.h.
void TBaseLongMatrix::AllocateMemory | ( | ) | [protected, virtual] |
Memory allocation based on the total number of elements.
Memory is aligned by the SSE_ALIGNMENT and all elements are zeroed.
Definition at line 82 of file BaseLongMatrix.cpp.
void TBaseLongMatrix::FreeMemory | ( | ) | [protected, virtual] |
Free memory
Definition at line 100 of file BaseLongMatrix.cpp.
void TBaseLongMatrix::ZeroMatrix | ( | ) | [virtual] |
* Zero all allocated elements.
Definition at line 63 of file BaseLongMatrix.cpp.