kspaceFirstOrder3D-OMP  1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
Public Member Functions | Protected Member Functions | Protected Attributes
TBaseLongMatrix Class Reference

Abstract base class for long based matrices defining basic interface. Higher dimensional matrices stored as 1D arrays, row-major order..

#include <BaseLongMatrix.h>

Inheritance diagram for TBaseLongMatrix:
Inheritance graph
[legend]
Collaboration diagram for TBaseLongMatrix:
Collaboration graph
[legend]

List of all members.

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.
TBaseLongMatrixoperator= (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.

Detailed Description

Definition at line 50 of file BaseLongMatrix.h.


Member Function Documentation

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.

Here is the call graph for this function:

Here is the caller graph for this function:

void TBaseLongMatrix::FreeMemory ( ) [protected, virtual]

Free memory

Definition at line 100 of file BaseLongMatrix.cpp.

Here is the caller graph for this function:

void TBaseLongMatrix::ZeroMatrix ( ) [virtual]

* Zero all allocated elements.

Definition at line 63 of file BaseLongMatrix.cpp.

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations