24 #include <lal/LALConfig.h>
44 #define XLALMalloc( n ) XLALMallocLong( n, __FILE__, __LINE__ )
45 #define XLALCalloc( m, n ) XLALCallocLong( m, n, __FILE__, __LINE__ )
46 #define XLALRealloc( p, n ) XLALReallocLong( p, n, __FILE__, __LINE__ )
47 #define XLALFree( p ) XLALFreeLong( p, __FILE__, __LINE__ )
53 #ifdef LAL_FFTW3_MEMALIGN_ENABLED
54 #define LAL_MEM_ALIGNMENT 0x40
55 int XLALIsMemoryAligned(
void *ptr);
56 void *XLALMallocAlignedLong(
size_t size,
const char *
file,
int line);
57 void *XLALMallocAligned(
size_t size);
58 void *XLALCallocAlignedLong(
size_t nelem,
size_t elsize,
const char *
file,
int line);
59 void *XLALCallocAligned(
size_t nelem,
size_t elsize);
60 void *XLALReallocAlignedLong(
void *ptr,
size_t size,
const char *
file,
int line);
61 void *XLALReallocAligned(
void *ptr,
size_t size);
62 void XLALFreeAligned(
void *ptr);
64 #define LAL_IS_MEMORY_ALIGNED(ptr) (((size_t)(ptr) % LAL_MEM_ALIGNMENT) == 0)
65 #define XLALMallocAligned(size) XLALMallocAlignedLong(size, __FILE__, __LINE__)
66 #define XLALCallocAligned(nelem, elsize) XLALCallocAlignedLong(nelem, elsize, __FILE__, __LINE__)
67 #define XLALReallocAligned(ptr, size) XLALReallocAlignedLong(ptr, size, __FILE__, __LINE__)
72 #ifdef LAL_MEMORY_FUNCTIONS_DISABLED
75 #define LALMalloc malloc
76 #define LALMallocShort malloc
77 #define LALMallocLong( n, file, line ) malloc( n )
78 #define LALCalloc calloc
79 #define LALCallocShort calloc
80 #define LALCallocLong( m, n, file, line ) calloc( m, n )
81 #define LALRealloc realloc
82 #define LALReallocShort realloc
83 #define LALReallocLong( p, n, file, line ) realloc( p, n )
85 #define LALFreeShort free
86 #define LALFreeLong( p, file, line ) free( p )
87 #define LALCheckMemoryLeaks()
93 #define LALMalloc( n ) LALMallocLong( n, __FILE__, __LINE__ )
94 #define LALCalloc( m, n ) LALCallocLong( m, n, __FILE__, __LINE__ )
95 #define LALRealloc( p, n ) LALReallocLong( p, n, __FILE__, __LINE__ )
96 #define LALFree( p ) LALFreeLong( p, __FILE__, __LINE__ )
130 #elif defined(__cplusplus)
void() LALCheckMemoryLeaks(void)
void LALFreeShort(void *p)
void LALFreeLong(void *p, const char *file, int line)
size_t lalMallocTotalPeak
peak amount of memory allocated so far
void XLALFreeLong(void *p, const char *file, const int line)
void * XLALCallocLong(size_t m, size_t n, const char *file, int line)
void * LALCallocShort(size_t m, size_t n)
void * XLALReallocLong(void *p, size_t n, const char *file, int line)
void * LALMallocLong(size_t n, const char *file, int line)
void * LALCallocLong(size_t m, size_t n, const char *file, int line)
void * LALReallocLong(void *p, size_t n, const char *file, int line)
size_t lalMallocTotal
current amount of memory allocated by process
void * XLALMallocLong(size_t n, const char *file, int line)
void * LALReallocShort(void *p, size_t n)
#define XLALRealloc(p, n)
void * LALMallocShort(size_t n)