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
55int XLALIsMemoryAligned(
void *ptr);
56void *XLALMallocAlignedLong(
size_t size,
const char *
file,
int line);
57void *XLALMallocAligned(
size_t size);
58void *XLALCallocAlignedLong(
size_t nelem,
size_t elsize,
const char *
file,
int line);
59void *XLALCallocAligned(
size_t nelem,
size_t elsize);
60void *XLALReallocAlignedLong(
void *ptr,
size_t size,
const char *
file,
int line);
61void *XLALReallocAligned(
void *ptr,
size_t size);
62void 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 * LALReallocShort(void *p, size_t n)
void LALFreeShort(void *p)
void * XLALMallocLong(size_t n, const char *file, int line)
void * LALCallocLong(size_t m, size_t n, const char *file, int line)
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 * LALReallocLong(void *p, size_t n, const char *file, int line)
void * XLALReallocLong(void *p, size_t n, const char *file, int line)
void * XLALCallocLong(size_t m, size_t n, const char *file, int line)
size_t lalMallocTotal
current amount of memory allocated by process
void * LALCallocShort(size_t m, size_t n)
void * LALMallocShort(size_t n)
#define XLALRealloc(p, n)
void * LALMallocLong(size_t n, const char *file, int line)