Detailed Description
memory allocation routines
Definition in file memory.h.
#include <limits.h>
#include <stdlib.h>
#include <stddef.h>
#include "scip/config.h"
#include "scip/scip_export.h"
Go to the source code of this file.
Macros | |
#define | ASSIGN(pointerstarstar, voidstarfunction) (*(pointerstarstar) = (voidstarfunction)) |
#define | ASSIGNCHECK(pointerstarstar, voidstarfunction, origpointer) (*(pointerstarstar) = (voidstarfunction)) |
#define | SCIP_UNUSED(x) ((void) (x)) |
#define | BMSallocMemory(ptr) ASSIGN((ptr), BMSallocMemory_call( sizeof(**(ptr)), __FILE__, __LINE__ )) |
#define | BMSallocClearMemory(ptr) ASSIGN((ptr), BMSallocClearMemory_call((size_t)(1), sizeof(**(ptr)), __FILE__, __LINE__ )) |
#define | BMSallocMemorySize(ptr, size) ASSIGN((ptr), BMSallocMemory_call( (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
#define | BMSallocMemoryCPP(size) BMSallocMemory_call( (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
#define | BMSallocClearMemorySize(ptr, size) ASSIGN((ptr), BMSallocClearMemory_call((size_t)(1), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
#define | BMSallocMemoryArray(ptr, num) ASSIGN((ptr), BMSallocMemoryArray_call((size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__ )) |
#define | BMSallocMemoryArrayCPP(num, size) BMSallocMemoryArray_call( (size_t)(ptrdiff_t)(num), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
#define | BMSallocClearMemoryArray(ptr, num) ASSIGN((ptr), BMSallocClearMemory_call((size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__ )) |
#define | BMSreallocMemorySize(ptr, size) ASSIGN((ptr), BMSreallocMemory_call((void*)(*(ptr)), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
#define | BMSreallocMemoryArray(ptr, num) ASSIGN((ptr), BMSreallocMemoryArray_call( *(ptr), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__ )) |
#define | BMSclearMemory(ptr) BMSclearMemory_call( (void*)(ptr), sizeof(*(ptr)) ) |
#define | BMSclearMemoryArray(ptr, num) BMSclearMemory_call( (void*)(ptr), (size_t)(ptrdiff_t)(num)*sizeof(*(ptr)) ) |
#define | BMSclearMemorySize(ptr, size) BMSclearMemory_call( (void*)(ptr), (size_t)(ptrdiff_t)(size) ) |
#define | BMScopyMemory(ptr, source) BMScopyMemory_call( (void*)(ptr), (const void*)(source), sizeof(*(ptr)) ) |
#define | BMScopyMemoryArray(ptr, source, num) BMScopyMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(num)*sizeof(*(ptr)) ) |
#define | BMScopyMemorySize(ptr, source, size) BMScopyMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(size) ) |
#define | BMSmoveMemory(ptr, source) BMSmoveMemory_call( (void*)(ptr), (const void*)(source), sizeof(*(ptr)) ) |
#define | BMSmoveMemoryArray(ptr, source, num) BMSmoveMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(num) * sizeof(*(ptr)) ) |
#define | BMSmoveMemorySize(ptr, source, size) BMSmoveMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(size) ) |
#define | BMSduplicateMemory(ptr, source) ASSIGN((ptr), BMSduplicateMemory_call( (const void*)(source), sizeof(**(ptr)), __FILE__, __LINE__ )) |
#define | BMSduplicateMemorySize(ptr, source, size) ASSIGN((ptr), BMSduplicateMemory_call( (const void*)(source), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
#define | BMSduplicateMemoryArray(ptr, source, num) |
#define | BMSfreeMemory(ptr) BMSfreeMemory_call( (void**)(ptr), __FILE__, __LINE__ ) |
#define | BMSfreeMemoryNull(ptr) BMSfreeMemoryNull_call( (void**)(ptr), __FILE__, __LINE__ ) |
#define | BMSfreeMemoryArray(ptr) BMSfreeMemory_call( (void**)(ptr), __FILE__, __LINE__ ) |
#define | BMSfreeMemoryArrayNull(ptr) BMSfreeMemoryNull_call( (void**)(ptr), __FILE__, __LINE__ ) |
#define | BMSfreeMemorySize(ptr) BMSfreeMemory_call( (void**)(ptr), __FILE__, __LINE__ ) |
#define | BMSfreeMemorySizeNull(ptr) BMSfreeMemoryNull_call( (void**)(ptr), __FILE__, __LINE__ ) |
#define | BMSgetPointerSize(ptr) BMSgetPointerSize_call(ptr) |
#define | BMSdisplayMemory() BMSdisplayMemory_call() |
#define | BMScheckEmptyMemory() BMScheckEmptyMemory_call() |
#define | BMSgetMemoryUsed() BMSgetMemoryUsed_call() |
#define | BMScreateChunkMemory(sz, isz, gbf) BMScreateChunkMemory_call( (sz), (isz), (gbf), __FILE__, __LINE__ ) |
#define | BMSclearChunkMemory(mem) BMSclearChunkMemory_call( (mem), __FILE__, __LINE__ ) |
#define | BMSdestroyChunkMemory(mem) BMSdestroyChunkMemory_call( (mem), __FILE__, __LINE__ ) |
#define | BMSallocChunkMemory(mem, ptr) ASSIGN((ptr), BMSallocChunkMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSduplicateChunkMemory(mem, ptr, source) |
#define | BMSfreeChunkMemory(mem, ptr) BMSfreeChunkMemory_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
#define | BMSfreeChunkMemoryNull(mem, ptr) BMSfreeChunkMemoryNull_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
#define | BMSgarbagecollectChunkMemory(mem) BMSgarbagecollectChunkMemory_call(mem) |
#define | BMSgetChunkMemoryUsed(mem) BMSgetChunkMemoryUsed_call(mem) |
#define | BMScreateBlockMemory(csz, gbf) BMScreateBlockMemory_call( (csz), (gbf), __FILE__, __LINE__ ) |
#define | BMSclearBlockMemory(mem) BMSclearBlockMemory_call( (mem), __FILE__, __LINE__ ) |
#define | BMSdestroyBlockMemory(mem) BMSdestroyBlockMemory_call( (mem), __FILE__, __LINE__ ) |
#define | BMSallocBlockMemory(mem, ptr) ASSIGN((ptr), BMSallocBlockMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSallocClearBlockMemory(mem, ptr) ASSIGN((ptr), BMSallocClearBlockMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSallocBlockMemorySize(mem, ptr, size) ASSIGN((ptr), BMSallocBlockMemory_call((mem), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
#define | BMSallocBlockMemoryArray(mem, ptr, num) ASSIGN((ptr), BMSallocBlockMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSallocClearBlockMemoryArray(mem, ptr, num) ASSIGN((ptr), BMSallocClearBlockMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSreallocBlockMemorySize(mem, ptr, oldsize, newsize) |
#define | BMSreallocBlockMemoryArray(mem, ptr, oldnum, newnum) |
#define | BMSduplicateBlockMemory(mem, ptr, source) |
#define | BMSduplicateBlockMemoryArray(mem, ptr, source, num) |
#define | BMSfreeBlockMemory(mem, ptr) BMSfreeBlockMemory_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
#define | BMSfreeBlockMemoryNull(mem, ptr) BMSfreeBlockMemoryNull_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
#define | BMSfreeBlockMemoryArray(mem, ptr, num) BMSfreeBlockMemory_call( (mem), (void**)(ptr), (num)*sizeof(**(ptr)), __FILE__, __LINE__ ) |
#define | BMSfreeBlockMemoryArrayNull(mem, ptr, num) BMSfreeBlockMemoryNull_call( (mem), (void**)(ptr), (num)*sizeof(**(ptr)), __FILE__, __LINE__ ) |
#define | BMSfreeBlockMemorySize(mem, ptr, size) BMSfreeBlockMemory_call( (mem), (void**)(ptr), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
#define | BMSfreeBlockMemorySizeNull(mem, ptr, size) BMSfreeBlockMemory_call( (mem), (void**)(ptr), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
#define | BMSgarbagecollectBlockMemory(mem) BMSgarbagecollectBlockMemory_call(mem) |
#define | BMSgetBlockMemoryAllocated(mem) BMSgetBlockMemoryAllocated_call(mem) |
#define | BMSgetBlockMemoryUsed(mem) BMSgetBlockMemoryUsed_call(mem) |
#define | BMSgetBlockMemoryUnused(mem) BMSgetBlockMemoryUnused_call(mem) |
#define | BMSgetBlockMemoryUsedMax(mem) BMSgetBlockMemoryUsedMax_call(mem) |
#define | BMSgetBlockMemoryUnusedMax(mem) BMSgetBlockMemoryUnusedMax_call(mem) |
#define | BMSgetBlockMemoryAllocatedMax(mem) BMSgetBlockMemoryAllocatedMax_call(mem) |
#define | BMSgetBlockPointerSize(mem, ptr) BMSgetBlockPointerSize_call((mem), (ptr)) |
#define | BMSdisplayBlockMemory(mem) BMSdisplayBlockMemory_call(mem) |
#define | BMSblockMemoryCheckEmpty(mem) BMScheckEmptyBlockMemory_call(mem) |
#define | BMSallocBufferMemory(mem, ptr) ASSIGN((ptr), BMSallocBufferMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSallocBufferMemorySize(mem, ptr, size) ASSIGN((ptr), BMSallocBufferMemory_call((mem), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
#define | BMSreallocBufferMemorySize(mem, ptr, size) ASSIGN((ptr), BMSreallocBufferMemory_call((mem), (void*)(*(ptr)), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
#define | BMSallocBufferMemoryArray(mem, ptr, num) ASSIGN((ptr), BMSallocBufferMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSallocClearBufferMemoryArray(mem, ptr, num) ASSIGN((ptr), BMSallocClearBufferMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
#define | BMSreallocBufferMemoryArray(mem, ptr, num) |
#define | BMSduplicateBufferMemory(mem, ptr, source, size) ASSIGN((ptr), BMSduplicateBufferMemory_call((mem), (const void*)(source), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
#define | BMSduplicateBufferMemoryArray(mem, ptr, source, num) |
#define | BMSfreeBufferMemory(mem, ptr) BMSfreeBufferMemory_call((mem), (void**)(ptr), __FILE__, __LINE__) |
#define | BMSfreeBufferMemoryNull(mem, ptr) BMSfreeBufferMemoryNull_call((mem), (void**)(ptr), __FILE__, __LINE__) |
#define | BMSfreeBufferMemoryArray(mem, ptr) BMSfreeBufferMemory_call((mem), (void**)(ptr), __FILE__, __LINE__) |
#define | BMSfreeBufferMemoryArrayNull(mem, ptr) BMSfreeBufferMemoryNull_call((mem), (void**)(ptr), __FILE__, __LINE__) |
#define | BMSfreeBufferMemorySize(mem, ptr) BMSfreeBufferMemory_call((mem), (void**)(ptr), __FILE__, __LINE__); |
#define | BMSfreeBufferMemorySizeNull(mem, ptr) BMSfreeBufferMemoryNull_call((mem), (void**)(ptr), __FILE__, __LINE__) |
#define | BMScreateBufferMemory(fac, init, clean) BMScreateBufferMemory_call((fac), (init), (clean), __FILE__, __LINE__) |
#define | BMSdestroyBufferMemory(mem) BMSdestroyBufferMemory_call((mem), __FILE__, __LINE__) |
Typedefs | |
typedef struct BMS_ChkMem | BMS_CHKMEM |
typedef struct BMS_BlkMem | BMS_BLKMEM |
typedef struct BMS_BufMem | BMS_BUFMEM |
Functions | |
void * | BMSallocClearMemory_call (size_t num, size_t typesize, const char *filename, int line) |
void * | BMSallocMemory_call (size_t size, const char *filename, int line) |
void * | BMSallocMemoryArray_call (size_t num, size_t typesize, const char *filename, int line) |
void * | BMSreallocMemory_call (void *ptr, size_t size, const char *filename, int line) |
void * | BMSreallocMemoryArray_call (void *ptr, size_t num, size_t typesize, const char *filename, int line) |
void | BMSclearMemory_call (void *ptr, size_t size) |
void | BMScopyMemory_call (void *ptr, const void *source, size_t size) |
void | BMSmoveMemory_call (void *ptr, const void *source, size_t size) |
void * | BMSduplicateMemory_call (const void *source, size_t size, const char *filename, int line) |
void * | BMSduplicateMemoryArray_call (const void *source, size_t num, size_t typesize, const char *filename, int line) |
void | BMSfreeMemory_call (void **ptr, const char *filename, int line) |
void | BMSfreeMemoryNull_call (void **ptr, const char *filename, int line) |
size_t | BMSgetPointerSize_call (const void *ptr) |
void | BMSdisplayMemory_call (void) |
void | BMScheckEmptyMemory_call (void) |
long long | BMSgetMemoryUsed_call (void) |
void | BMSalignMemsize (size_t *size) |
int | BMSisAligned (size_t size) |
BMS_CHKMEM * | BMScreateChunkMemory_call (size_t size, int initchunksize, int garbagefactor, const char *filename, int line) |
void | BMSclearChunkMemory_call (BMS_CHKMEM *chkmem, const char *filename, int line) |
void | BMSdestroyChunkMemory_call (BMS_CHKMEM **chkmem, const char *filename, int line) |
void * | BMSallocChunkMemory_call (BMS_CHKMEM *chkmem, size_t size, const char *filename, int line) |
void * | BMSduplicateChunkMemory_call (BMS_CHKMEM *chkmem, const void *source, size_t size, const char *filename, int line) |
void | BMSfreeChunkMemory_call (BMS_CHKMEM *chkmem, void **ptr, size_t size, const char *filename, int line) |
void | BMSfreeChunkMemoryNull_call (BMS_CHKMEM *chkmem, void **ptr, size_t size, const char *filename, int line) |
void | BMSgarbagecollectChunkMemory_call (BMS_CHKMEM *chkmem) |
long long | BMSgetChunkMemoryUsed_call (const BMS_CHKMEM *chkmem) |
BMS_BLKMEM * | BMScreateBlockMemory_call (int initchunksize, int garbagefactor, const char *filename, int line) |
void | BMSclearBlockMemory_call (BMS_BLKMEM *blkmem, const char *filename, int line) |
void | BMSdestroyBlockMemory_call (BMS_BLKMEM **blkmem, const char *filename, int line) |
void * | BMSallocBlockMemory_call (BMS_BLKMEM *blkmem, size_t size, const char *filename, int line) |
void * | BMSallocClearBlockMemory_call (BMS_BLKMEM *blkmem, size_t size, const char *filename, int line) |
void * | BMSallocBlockMemoryArray_call (BMS_BLKMEM *blkmem, size_t num, size_t typesize, const char *filename, int line) |
void * | BMSallocClearBlockMemoryArray_call (BMS_BLKMEM *blkmem, size_t num, size_t typesize, const char *filename, int line) |
void * | BMSreallocBlockMemory_call (BMS_BLKMEM *blkmem, void *ptr, size_t oldsize, size_t newsize, const char *filename, int line) |
void * | BMSreallocBlockMemoryArray_call (BMS_BLKMEM *blkmem, void *ptr, size_t oldnum, size_t newnum, size_t typesize, const char *filename, int line) |
void * | BMSduplicateBlockMemory_call (BMS_BLKMEM *blkmem, const void *source, size_t size, const char *filename, int line) |
void * | BMSduplicateBlockMemoryArray_call (BMS_BLKMEM *blkmem, const void *source, size_t num, size_t typesize, const char *filename, int line) |
void | BMSfreeBlockMemory_call (BMS_BLKMEM *blkmem, void **ptr, size_t size, const char *filename, int line) |
void | BMSfreeBlockMemoryNull_call (BMS_BLKMEM *blkmem, void **ptr, size_t size, const char *filename, int line) |
void | BMSgarbagecollectBlockMemory_call (BMS_BLKMEM *blkmem) |
long long | BMSgetBlockMemoryAllocated_call (const BMS_BLKMEM *blkmem) |
long long | BMSgetBlockMemoryUsed_call (const BMS_BLKMEM *blkmem) |
long long | BMSgetBlockMemoryUnused_call (const BMS_BLKMEM *blkmem) |
long long | BMSgetBlockMemoryUsedMax_call (const BMS_BLKMEM *blkmem) |
long long | BMSgetBlockMemoryUnusedMax_call (const BMS_BLKMEM *blkmem) |
long long | BMSgetBlockMemoryAllocatedMax_call (const BMS_BLKMEM *blkmem) |
size_t | BMSgetBlockPointerSize_call (const BMS_BLKMEM *blkmem, const void *ptr) |
void | BMSdisplayBlockMemory_call (const BMS_BLKMEM *blkmem) |
long long | BMScheckEmptyBlockMemory_call (const BMS_BLKMEM *blkmem) |
BMS_BUFMEM * | BMScreateBufferMemory_call (double arraygrowfac, int arraygrowinit, unsigned int clean, const char *filename, int line) |
void | BMSdestroyBufferMemory_call (BMS_BUFMEM **buffer, const char *filename, int line) |
void | BMSsetBufferMemoryArraygrowfac (BMS_BUFMEM *buffer, double arraygrowfac) |
void | BMSsetBufferMemoryArraygrowinit (BMS_BUFMEM *buffer, int arraygrowinit) |
void * | BMSallocBufferMemory_call (BMS_BUFMEM *buffer, size_t size, const char *filename, int line) |
void * | BMSallocBufferMemoryArray_call (BMS_BUFMEM *buffer, size_t num, size_t typesize, const char *filename, int line) |
void * | BMSallocClearBufferMemoryArray_call (BMS_BUFMEM *buffer, size_t num, size_t typesize, const char *filename, int line) |
void * | BMSreallocBufferMemory_call (BMS_BUFMEM *buffer, void *ptr, size_t size, const char *filename, int line) |
void * | BMSreallocBufferMemoryArray_call (BMS_BUFMEM *buffer, void *ptr, size_t num, size_t typesize, const char *filename, int line) |
void * | BMSduplicateBufferMemory_call (BMS_BUFMEM *buffer, const void *source, size_t size, const char *filename, int line) |
void * | BMSduplicateBufferMemoryArray_call (BMS_BUFMEM *buffer, const void *source, size_t num, size_t typesize, const char *filename, int line) |
void | BMSfreeBufferMemory_call (BMS_BUFMEM *buffer, void **ptr, const char *filename, int line) |
void | BMSfreeBufferMemoryNull_call (BMS_BUFMEM *buffer, void **ptr, const char *filename, int line) |
size_t | BMSgetNUsedBufferMemory (BMS_BUFMEM *buffer) |
long long | BMSgetBufferMemoryUsed (const BMS_BUFMEM *bufmem) |
void | BMSprintBufferMemory (BMS_BUFMEM *buffer) |
Macro Definition Documentation
◆ ASSIGN
#define ASSIGN | ( | pointerstarstar, | |
voidstarfunction | |||
) | (*(pointerstarstar) = (voidstarfunction)) |
◆ ASSIGNCHECK
#define ASSIGNCHECK | ( | pointerstarstar, | |
voidstarfunction, | |||
origpointer | |||
) | (*(pointerstarstar) = (voidstarfunction)) |
◆ SCIP_UNUSED
◆ BMSallocMemory
#define BMSallocMemory | ( | ptr | ) | ASSIGN((ptr), BMSallocMemory_call( sizeof(**(ptr)), __FILE__, __LINE__ )) |
◆ BMSallocClearMemory
#define BMSallocClearMemory | ( | ptr | ) | ASSIGN((ptr), BMSallocClearMemory_call((size_t)(1), sizeof(**(ptr)), __FILE__, __LINE__ )) |
◆ BMSallocMemorySize
#define BMSallocMemorySize | ( | ptr, | |
size | |||
) | ASSIGN((ptr), BMSallocMemory_call( (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
◆ BMSallocMemoryCPP
#define BMSallocMemoryCPP | ( | size | ) | BMSallocMemory_call( (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
◆ BMSallocClearMemorySize
#define BMSallocClearMemorySize | ( | ptr, | |
size | |||
) | ASSIGN((ptr), BMSallocClearMemory_call((size_t)(1), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
◆ BMSallocMemoryArray
#define BMSallocMemoryArray | ( | ptr, | |
num | |||
) | ASSIGN((ptr), BMSallocMemoryArray_call((size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__ )) |
◆ BMSallocMemoryArrayCPP
#define BMSallocMemoryArrayCPP | ( | num, | |
size | |||
) | BMSallocMemoryArray_call( (size_t)(ptrdiff_t)(num), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
◆ BMSallocClearMemoryArray
#define BMSallocClearMemoryArray | ( | ptr, | |
num | |||
) | ASSIGN((ptr), BMSallocClearMemory_call((size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__ )) |
◆ BMSreallocMemorySize
#define BMSreallocMemorySize | ( | ptr, | |
size | |||
) | ASSIGN((ptr), BMSreallocMemory_call((void*)(*(ptr)), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
◆ BMSreallocMemoryArray
#define BMSreallocMemoryArray | ( | ptr, | |
num | |||
) | ASSIGN((ptr), BMSreallocMemoryArray_call( *(ptr), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__ )) |
◆ BMSclearMemory
#define BMSclearMemory | ( | ptr | ) | BMSclearMemory_call( (void*)(ptr), sizeof(*(ptr)) ) |
◆ BMSclearMemoryArray
#define BMSclearMemoryArray | ( | ptr, | |
num | |||
) | BMSclearMemory_call( (void*)(ptr), (size_t)(ptrdiff_t)(num)*sizeof(*(ptr)) ) |
◆ BMSclearMemorySize
#define BMSclearMemorySize | ( | ptr, | |
size | |||
) | BMSclearMemory_call( (void*)(ptr), (size_t)(ptrdiff_t)(size) ) |
◆ BMScopyMemory
#define BMScopyMemory | ( | ptr, | |
source | |||
) | BMScopyMemory_call( (void*)(ptr), (const void*)(source), sizeof(*(ptr)) ) |
◆ BMScopyMemoryArray
#define BMScopyMemoryArray | ( | ptr, | |
source, | |||
num | |||
) | BMScopyMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(num)*sizeof(*(ptr)) ) |
◆ BMScopyMemorySize
#define BMScopyMemorySize | ( | ptr, | |
source, | |||
size | |||
) | BMScopyMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(size) ) |
◆ BMSmoveMemory
#define BMSmoveMemory | ( | ptr, | |
source | |||
) | BMSmoveMemory_call( (void*)(ptr), (const void*)(source), sizeof(*(ptr)) ) |
◆ BMSmoveMemoryArray
#define BMSmoveMemoryArray | ( | ptr, | |
source, | |||
num | |||
) | BMSmoveMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(num) * sizeof(*(ptr)) ) |
◆ BMSmoveMemorySize
#define BMSmoveMemorySize | ( | ptr, | |
source, | |||
size | |||
) | BMSmoveMemory_call( (void*)(ptr), (const void*)(source), (size_t)(ptrdiff_t)(size) ) |
◆ BMSduplicateMemory
#define BMSduplicateMemory | ( | ptr, | |
source | |||
) | ASSIGN((ptr), BMSduplicateMemory_call( (const void*)(source), sizeof(**(ptr)), __FILE__, __LINE__ )) |
◆ BMSduplicateMemorySize
#define BMSduplicateMemorySize | ( | ptr, | |
source, | |||
size | |||
) | ASSIGN((ptr), BMSduplicateMemory_call( (const void*)(source), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ )) |
◆ BMSduplicateMemoryArray
#define BMSduplicateMemoryArray | ( | ptr, | |
source, | |||
num | |||
) |
◆ BMSfreeMemory
#define BMSfreeMemory | ( | ptr | ) | BMSfreeMemory_call( (void**)(ptr), __FILE__, __LINE__ ) |
◆ BMSfreeMemoryNull
#define BMSfreeMemoryNull | ( | ptr | ) | BMSfreeMemoryNull_call( (void**)(ptr), __FILE__, __LINE__ ) |
◆ BMSfreeMemoryArray
#define BMSfreeMemoryArray | ( | ptr | ) | BMSfreeMemory_call( (void**)(ptr), __FILE__, __LINE__ ) |
◆ BMSfreeMemoryArrayNull
#define BMSfreeMemoryArrayNull | ( | ptr | ) | BMSfreeMemoryNull_call( (void**)(ptr), __FILE__, __LINE__ ) |
◆ BMSfreeMemorySize
#define BMSfreeMemorySize | ( | ptr | ) | BMSfreeMemory_call( (void**)(ptr), __FILE__, __LINE__ ) |
◆ BMSfreeMemorySizeNull
#define BMSfreeMemorySizeNull | ( | ptr | ) | BMSfreeMemoryNull_call( (void**)(ptr), __FILE__, __LINE__ ) |
◆ BMSgetPointerSize
#define BMSgetPointerSize | ( | ptr | ) | BMSgetPointerSize_call(ptr) |
◆ BMSdisplayMemory
#define BMSdisplayMemory | ( | ) | BMSdisplayMemory_call() |
◆ BMScheckEmptyMemory
#define BMScheckEmptyMemory | ( | ) | BMScheckEmptyMemory_call() |
◆ BMSgetMemoryUsed
#define BMSgetMemoryUsed | ( | ) | BMSgetMemoryUsed_call() |
◆ BMScreateChunkMemory
#define BMScreateChunkMemory | ( | sz, | |
isz, | |||
gbf | |||
) | BMScreateChunkMemory_call( (sz), (isz), (gbf), __FILE__, __LINE__ ) |
◆ BMSclearChunkMemory
#define BMSclearChunkMemory | ( | mem | ) | BMSclearChunkMemory_call( (mem), __FILE__, __LINE__ ) |
◆ BMSdestroyChunkMemory
#define BMSdestroyChunkMemory | ( | mem | ) | BMSdestroyChunkMemory_call( (mem), __FILE__, __LINE__ ) |
◆ BMSallocChunkMemory
#define BMSallocChunkMemory | ( | mem, | |
ptr | |||
) | ASSIGN((ptr), BMSallocChunkMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSduplicateChunkMemory
#define BMSduplicateChunkMemory | ( | mem, | |
ptr, | |||
source | |||
) |
◆ BMSfreeChunkMemory
#define BMSfreeChunkMemory | ( | mem, | |
ptr | |||
) | BMSfreeChunkMemory_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
◆ BMSfreeChunkMemoryNull
#define BMSfreeChunkMemoryNull | ( | mem, | |
ptr | |||
) | BMSfreeChunkMemoryNull_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
◆ BMSgarbagecollectChunkMemory
#define BMSgarbagecollectChunkMemory | ( | mem | ) | BMSgarbagecollectChunkMemory_call(mem) |
◆ BMSgetChunkMemoryUsed
#define BMSgetChunkMemoryUsed | ( | mem | ) | BMSgetChunkMemoryUsed_call(mem) |
◆ BMScreateBlockMemory
#define BMScreateBlockMemory | ( | csz, | |
gbf | |||
) | BMScreateBlockMemory_call( (csz), (gbf), __FILE__, __LINE__ ) |
◆ BMSclearBlockMemory
#define BMSclearBlockMemory | ( | mem | ) | BMSclearBlockMemory_call( (mem), __FILE__, __LINE__ ) |
◆ BMSdestroyBlockMemory
#define BMSdestroyBlockMemory | ( | mem | ) | BMSdestroyBlockMemory_call( (mem), __FILE__, __LINE__ ) |
◆ BMSallocBlockMemory
#define BMSallocBlockMemory | ( | mem, | |
ptr | |||
) | ASSIGN((ptr), BMSallocBlockMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSallocClearBlockMemory
#define BMSallocClearBlockMemory | ( | mem, | |
ptr | |||
) | ASSIGN((ptr), BMSallocClearBlockMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSallocBlockMemorySize
#define BMSallocBlockMemorySize | ( | mem, | |
ptr, | |||
size | |||
) | ASSIGN((ptr), BMSallocBlockMemory_call((mem), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
◆ BMSallocBlockMemoryArray
#define BMSallocBlockMemoryArray | ( | mem, | |
ptr, | |||
num | |||
) | ASSIGN((ptr), BMSallocBlockMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSallocClearBlockMemoryArray
#define BMSallocClearBlockMemoryArray | ( | mem, | |
ptr, | |||
num | |||
) | ASSIGN((ptr), BMSallocClearBlockMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSreallocBlockMemorySize
#define BMSreallocBlockMemorySize | ( | mem, | |
ptr, | |||
oldsize, | |||
newsize | |||
) |
◆ BMSreallocBlockMemoryArray
#define BMSreallocBlockMemoryArray | ( | mem, | |
ptr, | |||
oldnum, | |||
newnum | |||
) |
◆ BMSduplicateBlockMemory
#define BMSduplicateBlockMemory | ( | mem, | |
ptr, | |||
source | |||
) |
◆ BMSduplicateBlockMemoryArray
#define BMSduplicateBlockMemoryArray | ( | mem, | |
ptr, | |||
source, | |||
num | |||
) |
◆ BMSfreeBlockMemory
#define BMSfreeBlockMemory | ( | mem, | |
ptr | |||
) | BMSfreeBlockMemory_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
◆ BMSfreeBlockMemoryNull
#define BMSfreeBlockMemoryNull | ( | mem, | |
ptr | |||
) | BMSfreeBlockMemoryNull_call( (mem), (void**)(ptr), sizeof(**(ptr)), __FILE__, __LINE__ ) |
◆ BMSfreeBlockMemoryArray
#define BMSfreeBlockMemoryArray | ( | mem, | |
ptr, | |||
num | |||
) | BMSfreeBlockMemory_call( (mem), (void**)(ptr), (num)*sizeof(**(ptr)), __FILE__, __LINE__ ) |
◆ BMSfreeBlockMemoryArrayNull
#define BMSfreeBlockMemoryArrayNull | ( | mem, | |
ptr, | |||
num | |||
) | BMSfreeBlockMemoryNull_call( (mem), (void**)(ptr), (num)*sizeof(**(ptr)), __FILE__, __LINE__ ) |
◆ BMSfreeBlockMemorySize
#define BMSfreeBlockMemorySize | ( | mem, | |
ptr, | |||
size | |||
) | BMSfreeBlockMemory_call( (mem), (void**)(ptr), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
◆ BMSfreeBlockMemorySizeNull
#define BMSfreeBlockMemorySizeNull | ( | mem, | |
ptr, | |||
size | |||
) | BMSfreeBlockMemory_call( (mem), (void**)(ptr), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__ ) |
◆ BMSgarbagecollectBlockMemory
#define BMSgarbagecollectBlockMemory | ( | mem | ) | BMSgarbagecollectBlockMemory_call(mem) |
◆ BMSgetBlockMemoryAllocated
#define BMSgetBlockMemoryAllocated | ( | mem | ) | BMSgetBlockMemoryAllocated_call(mem) |
◆ BMSgetBlockMemoryUsed
#define BMSgetBlockMemoryUsed | ( | mem | ) | BMSgetBlockMemoryUsed_call(mem) |
◆ BMSgetBlockMemoryUnused
#define BMSgetBlockMemoryUnused | ( | mem | ) | BMSgetBlockMemoryUnused_call(mem) |
◆ BMSgetBlockMemoryUsedMax
#define BMSgetBlockMemoryUsedMax | ( | mem | ) | BMSgetBlockMemoryUsedMax_call(mem) |
◆ BMSgetBlockMemoryUnusedMax
#define BMSgetBlockMemoryUnusedMax | ( | mem | ) | BMSgetBlockMemoryUnusedMax_call(mem) |
◆ BMSgetBlockMemoryAllocatedMax
#define BMSgetBlockMemoryAllocatedMax | ( | mem | ) | BMSgetBlockMemoryAllocatedMax_call(mem) |
◆ BMSgetBlockPointerSize
#define BMSgetBlockPointerSize | ( | mem, | |
ptr | |||
) | BMSgetBlockPointerSize_call((mem), (ptr)) |
◆ BMSdisplayBlockMemory
#define BMSdisplayBlockMemory | ( | mem | ) | BMSdisplayBlockMemory_call(mem) |
◆ BMSblockMemoryCheckEmpty
#define BMSblockMemoryCheckEmpty | ( | mem | ) | BMScheckEmptyBlockMemory_call(mem) |
◆ BMSallocBufferMemory
#define BMSallocBufferMemory | ( | mem, | |
ptr | |||
) | ASSIGN((ptr), BMSallocBufferMemory_call((mem), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSallocBufferMemorySize
#define BMSallocBufferMemorySize | ( | mem, | |
ptr, | |||
size | |||
) | ASSIGN((ptr), BMSallocBufferMemory_call((mem), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
◆ BMSreallocBufferMemorySize
#define BMSreallocBufferMemorySize | ( | mem, | |
ptr, | |||
size | |||
) | ASSIGN((ptr), BMSreallocBufferMemory_call((mem), (void*)(*(ptr)), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
◆ BMSallocBufferMemoryArray
#define BMSallocBufferMemoryArray | ( | mem, | |
ptr, | |||
num | |||
) | ASSIGN((ptr), BMSallocBufferMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSallocClearBufferMemoryArray
#define BMSallocClearBufferMemoryArray | ( | mem, | |
ptr, | |||
num | |||
) | ASSIGN((ptr), BMSallocClearBufferMemoryArray_call((mem), (size_t)(ptrdiff_t)(num), sizeof(**(ptr)), __FILE__, __LINE__)) |
◆ BMSreallocBufferMemoryArray
#define BMSreallocBufferMemoryArray | ( | mem, | |
ptr, | |||
num | |||
) |
◆ BMSduplicateBufferMemory
#define BMSduplicateBufferMemory | ( | mem, | |
ptr, | |||
source, | |||
size | |||
) | ASSIGN((ptr), BMSduplicateBufferMemory_call((mem), (const void*)(source), (size_t)(ptrdiff_t)(size), __FILE__, __LINE__)) |
◆ BMSduplicateBufferMemoryArray
#define BMSduplicateBufferMemoryArray | ( | mem, | |
ptr, | |||
source, | |||
num | |||
) |
◆ BMSfreeBufferMemory
#define BMSfreeBufferMemory | ( | mem, | |
ptr | |||
) | BMSfreeBufferMemory_call((mem), (void**)(ptr), __FILE__, __LINE__) |
◆ BMSfreeBufferMemoryNull
#define BMSfreeBufferMemoryNull | ( | mem, | |
ptr | |||
) | BMSfreeBufferMemoryNull_call((mem), (void**)(ptr), __FILE__, __LINE__) |
◆ BMSfreeBufferMemoryArray
#define BMSfreeBufferMemoryArray | ( | mem, | |
ptr | |||
) | BMSfreeBufferMemory_call((mem), (void**)(ptr), __FILE__, __LINE__) |
◆ BMSfreeBufferMemoryArrayNull
#define BMSfreeBufferMemoryArrayNull | ( | mem, | |
ptr | |||
) | BMSfreeBufferMemoryNull_call((mem), (void**)(ptr), __FILE__, __LINE__) |
◆ BMSfreeBufferMemorySize
#define BMSfreeBufferMemorySize | ( | mem, | |
ptr | |||
) | BMSfreeBufferMemory_call((mem), (void**)(ptr), __FILE__, __LINE__); |
◆ BMSfreeBufferMemorySizeNull
#define BMSfreeBufferMemorySizeNull | ( | mem, | |
ptr | |||
) | BMSfreeBufferMemoryNull_call((mem), (void**)(ptr), __FILE__, __LINE__) |
◆ BMScreateBufferMemory
#define BMScreateBufferMemory | ( | fac, | |
init, | |||
clean | |||
) | BMScreateBufferMemory_call((fac), (init), (clean), __FILE__, __LINE__) |
◆ BMSdestroyBufferMemory
#define BMSdestroyBufferMemory | ( | mem | ) | BMSdestroyBufferMemory_call((mem), __FILE__, __LINE__) |
Typedef Documentation
◆ BMS_CHKMEM
typedef struct BMS_ChkMem BMS_CHKMEM |
◆ BMS_BLKMEM
typedef struct BMS_BlkMem BMS_BLKMEM |
◆ BMS_BUFMEM
typedef struct BMS_BufMem BMS_BUFMEM |
Function Documentation
◆ BMSallocClearMemory_call()
void * BMSallocClearMemory_call | ( | size_t | num, |
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates array and initializes it with 0; returns NULL if memory allocation failed
- Parameters
-
num number of memory element to allocate typesize size of one memory element to allocate filename source file where the allocation is performed line line number in source file where the allocation is performed
Definition at line 350 of file memory.c.
References addMemlistEntry, debugMessage, MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader.
◆ BMSallocMemory_call()
void * BMSallocMemory_call | ( | size_t | size, |
const char * | filename, | ||
int | line | ||
) |
allocates memory; returns NULL if memory allocation failed
- Parameters
-
size size of memory element to allocate filename source file where the allocation is performed line line number in source file where the allocation is performed
Definition at line 389 of file memory.c.
References addMemlistEntry, debugMessage, MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader.
Referenced by BMSduplicateMemory_call().
◆ BMSallocMemoryArray_call()
void * BMSallocMemoryArray_call | ( | size_t | num, |
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates array; returns NULL if memory allocation failed
- Parameters
-
num number of components of array to allocate typesize size of each component filename source file where the allocation is performed line line number in source file where the allocation is performed
Definition at line 423 of file memory.c.
References addMemlistEntry, debugMessage, MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader.
Referenced by BMSduplicateMemoryArray_call().
◆ BMSreallocMemory_call()
void * BMSreallocMemory_call | ( | void * | ptr, |
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates memory; returns NULL if memory allocation failed
- Parameters
-
ptr pointer to memory to reallocate size new size of memory element filename source file where the reallocation is performed line line number in source file where the reallocation is performed
Definition at line 461 of file memory.c.
References addMemlistEntry, MAX, MAXMEMSIZE, NULL, printError, printErrorHeader, and removeMemlistEntry.
◆ BMSreallocMemoryArray_call()
void * BMSreallocMemoryArray_call | ( | void * | ptr, |
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
reallocates array; returns NULL if memory allocation failed
- Parameters
-
ptr pointer to memory to reallocate num number of components of array to allocate typesize size of each component filename source file where the reallocation is performed line line number in source file where the reallocation is performed
Definition at line 497 of file memory.c.
References addMemlistEntry, MAX, MAXMEMSIZE, NULL, printError, printErrorHeader, and removeMemlistEntry.
◆ BMSclearMemory_call()
void BMSclearMemory_call | ( | void * | ptr, |
size_t | size | ||
) |
◆ BMScopyMemory_call()
void BMScopyMemory_call | ( | void * | ptr, |
const void * | source, | ||
size_t | size | ||
) |
copies the contents of one memory element into another memory element
- Parameters
-
ptr pointer to target memory element source pointer to source memory element size size of memory element to copy
Definition at line 549 of file memory.c.
References NULL.
Referenced by BMSduplicateMemory_call(), and BMSduplicateMemoryArray_call().
◆ BMSmoveMemory_call()
void BMSmoveMemory_call | ( | void * | ptr, |
const void * | source, | ||
size_t | size | ||
) |
moves the contents of one memory element into another memory element, should be used if both elements overlap, otherwise BMScopyMemory is faster
- Parameters
-
ptr pointer to target memory element source pointer to source memory element size size of memory element to copy
Definition at line 566 of file memory.c.
References NULL.
◆ BMSduplicateMemory_call()
void * BMSduplicateMemory_call | ( | const void * | source, |
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates memory and copies the contents of the given memory element into the new memory element
- Parameters
-
source pointer to source memory element size size of memory element to copy filename source file where the duplication is performed line line number in source file where the duplication is performed
Definition at line 581 of file memory.c.
References BMSallocMemory_call(), BMScopyMemory_call(), and NULL.
◆ BMSduplicateMemoryArray_call()
void * BMSduplicateMemoryArray_call | ( | const void * | source, |
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates array and copies the contents of the given source array into the new array
- Parameters
-
source pointer to source memory element num number of components of array to allocate typesize size of each component filename source file where the duplication is performed line line number in source file where the duplication is performed
Definition at line 600 of file memory.c.
References BMSallocMemoryArray_call(), BMScopyMemory_call(), and NULL.
◆ BMSfreeMemory_call()
void BMSfreeMemory_call | ( | void ** | ptr, |
const char * | filename, | ||
int | line | ||
) |
frees an allocated memory element and sets pointer to NULL
- Parameters
-
ptr pointer to pointer to memory element filename source file where the deallocation is performed line line number in source file where the deallocation is performed
Definition at line 620 of file memory.c.
References NULL, printError, printErrorHeader, and removeMemlistEntry.
◆ BMSfreeMemoryNull_call()
void BMSfreeMemoryNull_call | ( | void ** | ptr, |
const char * | filename, | ||
int | line | ||
) |
frees an allocated memory element if pointer is not NULL and sets pointer to NULL
- Parameters
-
ptr pointer to pointer to memory element filename source file where the deallocation is performed line line number in source file where the deallocation is performed
Definition at line 642 of file memory.c.
References NULL, and removeMemlistEntry.
◆ BMSgetPointerSize_call()
size_t BMSgetPointerSize_call | ( | const void * | ptr | ) |
◆ BMSdisplayMemory_call()
void BMSdisplayMemory_call | ( | void | ) |
◆ BMScheckEmptyMemory_call()
void BMScheckEmptyMemory_call | ( | void | ) |
◆ BMSgetMemoryUsed_call()
long long BMSgetMemoryUsed_call | ( | void | ) |
◆ BMSalignMemsize()
void BMSalignMemsize | ( | size_t * | size | ) |
◆ BMSisAligned()
int BMSisAligned | ( | size_t | size | ) |
checks whether the given size meets the alignment conditions for chunk and block memory
checks whether the given size meets the alignment conditions for chunk and block memory
- Parameters
-
size size to check for alignment
Definition at line 777 of file memory.c.
References ALIGNMENT.
Referenced by createChkmem(), createChunk(), and getHashNumber().
◆ BMScreateChunkMemory_call()
BMS_CHKMEM * BMScreateChunkMemory_call | ( | size_t | size, |
int | initchunksize, | ||
int | garbagefactor, | ||
const char * | filename, | ||
int | line | ||
) |
creates a new chunk block data structure
- Parameters
-
size element size of the chunk block initchunksize number of elements in the first chunk of the chunk block garbagefactor garbage collector is called, if at least garbagefactor * avg. chunksize elements are free (-1: disable garbage collection) filename source file of the function call line line number in source file of the function call
Definition at line 1463 of file memory.c.
References createChkmem(), debugMessage, NULL, printError, and printErrorHeader.
◆ BMSclearChunkMemory_call()
void BMSclearChunkMemory_call | ( | BMS_CHKMEM * | chkmem, |
const char * | filename, | ||
int | line | ||
) |
clears a chunk block data structure
- Parameters
-
chkmem chunk block filename source file of the function call line line number in source file of the function call
Definition at line 1487 of file memory.c.
References clearChkmem(), debugMessage, NULL, printError, and printErrorHeader.
◆ BMSdestroyChunkMemory_call()
void BMSdestroyChunkMemory_call | ( | BMS_CHKMEM ** | chkmem, |
const char * | filename, | ||
int | line | ||
) |
destroys and frees a chunk block data structure
- Parameters
-
chkmem pointer to chunk block filename source file of the function call line line number in source file of the function call
Definition at line 1505 of file memory.c.
References debugMessage, destroyChkmem(), NULL, printError, and printErrorHeader.
◆ BMSallocChunkMemory_call()
void * BMSallocChunkMemory_call | ( | BMS_CHKMEM * | chkmem, |
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates a memory element of the given chunk block
- Parameters
-
chkmem chunk block size size of memory element to allocate (only needed for sanity check) filename source file of the function call line line number in source file of the function call
Definition at line 1525 of file memory.c.
References allocChkmemElement(), checkChkmem, debugMessage, NULL, printError, and printErrorHeader.
Referenced by BMSduplicateChunkMemory_call().
◆ BMSduplicateChunkMemory_call()
void * BMSduplicateChunkMemory_call | ( | BMS_CHKMEM * | chkmem, |
const void * | source, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
duplicates a given memory element by allocating a new element of the same chunk block and copying the data
- Parameters
-
chkmem chunk block source source memory element size size of memory element to allocate (only needed for sanity check) filename source file of the function call line line number in source file of the function call
Definition at line 1552 of file memory.c.
References BMSallocChunkMemory_call(), BMScopyMemorySize, and NULL.
◆ BMSfreeChunkMemory_call()
void BMSfreeChunkMemory_call | ( | BMS_CHKMEM * | chkmem, |
void ** | ptr, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
frees a memory element of the given chunk block and sets pointer to NULL
- Parameters
-
chkmem chunk block ptr pointer to pointer to memory element to free size size of memory element to allocate (only needed for sanity check) filename source file of the function call line line number in source file of the function call
Definition at line 1574 of file memory.c.
References checkChkmem, debugMessage, freeChkmemElement(), NULL, printError, and printErrorHeader.
◆ BMSfreeChunkMemoryNull_call()
void BMSfreeChunkMemoryNull_call | ( | BMS_CHKMEM * | chkmem, |
void ** | ptr, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
frees a memory element of the given chunk block if pointer is not NULL and sets pointer to NULL
- Parameters
-
chkmem chunk block ptr pointer to pointer to memory element to free size size of memory element to allocate (only needed for sanity check) filename source file of the function call line line number in source file of the function call
Definition at line 1603 of file memory.c.
References checkChkmem, debugMessage, freeChkmemElement(), and NULL.
◆ BMSgarbagecollectChunkMemory_call()
void BMSgarbagecollectChunkMemory_call | ( | BMS_CHKMEM * | chkmem | ) |
calls garbage collection of chunk block and frees chunks without allocated memory elements
- Parameters
-
chkmem chunk block
Definition at line 1627 of file memory.c.
References debugMessage, garbagecollectChkmem(), and NULL.
◆ BMSgetChunkMemoryUsed_call()
long long BMSgetChunkMemoryUsed_call | ( | const BMS_CHKMEM * | chkmem | ) |
◆ BMScreateBlockMemory_call()
BMS_BLKMEM * BMScreateBlockMemory_call | ( | int | initchunksize, |
int | garbagefactor, | ||
const char * | filename, | ||
int | line | ||
) |
creates a block memory allocation data structure
- Parameters
-
initchunksize number of elements in the first chunk of each chunk block garbagefactor garbage collector is called, if at least garbagefactor * avg. chunksize elements are free (-1: disable garbage collection) filename source file of the function call line line number in source file of the function call
Definition at line 1735 of file memory.c.
References BMSallocMemory, CHKHASH_SIZE, NULL, printError, and printErrorHeader.
◆ BMSclearBlockMemory_call()
void BMSclearBlockMemory_call | ( | BMS_BLKMEM * | blkmem, |
const char * | filename, | ||
int | line | ||
) |
frees all chunk blocks in the block memory
- Parameters
-
blkmem block memory filename source file of the function call line line number in source file of the function call
Definition at line 1769 of file memory.c.
References CHKHASH_SIZE, destroyChkmem(), NULL, printError, and printErrorHeader.
Referenced by BMSdestroyBlockMemory_call().
◆ BMSdestroyBlockMemory_call()
void BMSdestroyBlockMemory_call | ( | BMS_BLKMEM ** | blkmem, |
const char * | filename, | ||
int | line | ||
) |
clears and deletes block memory
- Parameters
-
blkmem pointer to block memory filename source file of the function call line line number in source file of the function call
Definition at line 1803 of file memory.c.
References BMSclearBlockMemory_call(), BMSfreeMemory, NULL, printError, and printErrorHeader.
◆ BMSallocBlockMemory_call()
void * BMSallocBlockMemory_call | ( | BMS_BLKMEM * | blkmem, |
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates memory in the block memory pool
- Parameters
-
blkmem block memory size size of memory element to allocate filename source file of the function call line line number in source file of the function call
Definition at line 1897 of file memory.c.
References BMSallocBlockMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
Referenced by BMSallocClearBlockMemory_call(), BMSduplicateBlockMemory_call(), and BMSreallocBlockMemory_call().
◆ BMSallocClearBlockMemory_call()
void * BMSallocClearBlockMemory_call | ( | BMS_BLKMEM * | blkmem, |
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates memory in the block memory pool and clears it
- Parameters
-
blkmem block memory size size of memory element to allocate filename source file of the function call line line number in source file of the function call
Definition at line 1917 of file memory.c.
References BMSallocBlockMemory_call(), BMSclearMemorySize, and NULL.
◆ BMSallocBlockMemoryArray_call()
void * BMSallocBlockMemoryArray_call | ( | BMS_BLKMEM * | blkmem, |
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates array in the block memory pool
- Parameters
-
blkmem block memory num size of array to be allocated typesize size of each component filename source file of the function call line line number in source file of the function call
Definition at line 1934 of file memory.c.
References BMSallocBlockMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
Referenced by BMSallocClearBlockMemoryArray_call(), BMSduplicateBlockMemoryArray_call(), and BMSreallocBlockMemoryArray_call().
◆ BMSallocClearBlockMemoryArray_call()
void * BMSallocClearBlockMemoryArray_call | ( | BMS_BLKMEM * | blkmem, |
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates array in the block memory pool and clears it
- Parameters
-
blkmem block memory num size of array to be allocated typesize size of each component filename source file of the function call line line number in source file of the function call
Definition at line 1955 of file memory.c.
References BMSallocBlockMemoryArray_call(), BMSclearMemorySize, and NULL.
◆ BMSreallocBlockMemory_call()
void * BMSreallocBlockMemory_call | ( | BMS_BLKMEM * | blkmem, |
void * | ptr, | ||
size_t | oldsize, | ||
size_t | newsize, | ||
const char * | filename, | ||
int | line | ||
) |
resizes memory element in the block memory pool and copies the data
- Parameters
-
blkmem block memory ptr memory element to reallocated oldsize old size of memory element newsize new size of memory element filename source file of the function call line line number in source file of the function call
Definition at line 1973 of file memory.c.
References BMSallocBlockMemory_call(), BMScopyMemorySize, BMSfreeBlockMemory_call(), MAXMEMSIZE, MIN, NULL, printError, and printErrorHeader.
◆ BMSreallocBlockMemoryArray_call()
void * BMSreallocBlockMemoryArray_call | ( | BMS_BLKMEM * | blkmem, |
void * | ptr, | ||
size_t | oldnum, | ||
size_t | newnum, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
resizes array in the block memory pool and copies the data
- Parameters
-
blkmem block memory ptr memory element to reallocated oldnum old size of array newnum new size of array typesize size of each component filename source file of the function call line line number in source file of the function call
Definition at line 2013 of file memory.c.
References BMSallocBlockMemoryArray_call(), BMScopyMemorySize, BMSfreeBlockMemory_call(), MAXMEMSIZE, MIN, NULL, printError, and printErrorHeader.
◆ BMSduplicateBlockMemory_call()
void * BMSduplicateBlockMemory_call | ( | BMS_BLKMEM * | blkmem, |
const void * | source, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
duplicates memory element in the block memory pool and copies the data
- Parameters
-
blkmem block memory source memory element to duplicate size size of memory elements filename source file of the function call line line number in source file of the function call
Definition at line 2052 of file memory.c.
References BMSallocBlockMemory_call(), BMScopyMemorySize, and NULL.
◆ BMSduplicateBlockMemoryArray_call()
void * BMSduplicateBlockMemoryArray_call | ( | BMS_BLKMEM * | blkmem, |
const void * | source, | ||
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
duplicates array in the block memory pool and copies the data
- Parameters
-
blkmem block memory source memory element to duplicate num size of array to be duplicated typesize size of each component filename source file of the function call line line number in source file of the function call
Definition at line 2072 of file memory.c.
References BMSallocBlockMemoryArray_call(), BMScopyMemorySize, and NULL.
◆ BMSfreeBlockMemory_call()
void BMSfreeBlockMemory_call | ( | BMS_BLKMEM * | blkmem, |
void ** | ptr, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
frees memory element in the block memory pool and sets pointer to NULL
- Parameters
-
blkmem block memory ptr pointer to pointer to memory element to free size size of memory element filename source file of the function call line line number in source file of the function call
Definition at line 2142 of file memory.c.
References BMSfreeBlockMemory_work(), checkBlkmem, NULL, printError, and printErrorHeader.
Referenced by BMSreallocBlockMemory_call(), and BMSreallocBlockMemoryArray_call().
◆ BMSfreeBlockMemoryNull_call()
void BMSfreeBlockMemoryNull_call | ( | BMS_BLKMEM * | blkmem, |
void ** | ptr, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
frees memory element in the block memory pool if pointer is not NULL and sets pointer to NULL
- Parameters
-
blkmem block memory ptr pointer to pointer to memory element to free size size of memory element filename source file of the function call line line number in source file of the function call
Definition at line 2164 of file memory.c.
References BMSfreeBlockMemory_work(), checkBlkmem, and NULL.
◆ BMSgarbagecollectBlockMemory_call()
void BMSgarbagecollectBlockMemory_call | ( | BMS_BLKMEM * | blkmem | ) |
calls garbage collection of block memory, frees chunks without allocated memory elements, and frees chunk blocks without any chunks
- Parameters
-
blkmem block memory
Definition at line 2185 of file memory.c.
References checkBlkmem, CHKHASH_SIZE, destroyChkmem(), garbagecollectChkmem(), and NULL.
◆ BMSgetBlockMemoryAllocated_call()
long long BMSgetBlockMemoryAllocated_call | ( | const BMS_BLKMEM * | blkmem | ) |
◆ BMSgetBlockMemoryUsed_call()
long long BMSgetBlockMemoryUsed_call | ( | const BMS_BLKMEM * | blkmem | ) |
◆ BMSgetBlockMemoryUnused_call()
long long BMSgetBlockMemoryUnused_call | ( | const BMS_BLKMEM * | blkmem | ) |
◆ BMSgetBlockMemoryUsedMax_call()
long long BMSgetBlockMemoryUsedMax_call | ( | const BMS_BLKMEM * | blkmem | ) |
◆ BMSgetBlockMemoryUnusedMax_call()
long long BMSgetBlockMemoryUnusedMax_call | ( | const BMS_BLKMEM * | blkmem | ) |
◆ BMSgetBlockMemoryAllocatedMax_call()
long long BMSgetBlockMemoryAllocatedMax_call | ( | const BMS_BLKMEM * | blkmem | ) |
◆ BMSgetBlockPointerSize_call()
size_t BMSgetBlockPointerSize_call | ( | const BMS_BLKMEM * | blkmem, |
const void * | ptr | ||
) |
returns the size of the given memory element; returns 0, if the element is not member of the block memory
- Parameters
-
blkmem block memory ptr memory element
Definition at line 2279 of file memory.c.
References findChkmem(), and NULL.
◆ BMSdisplayBlockMemory_call()
void BMSdisplayBlockMemory_call | ( | const BMS_BLKMEM * | blkmem | ) |
outputs allocation diagnostics of block memory
- Parameters
-
blkmem block memory
Definition at line 2299 of file memory.c.
References CHKHASH_SIZE, FOR_EACH_NODE, NULL, and printInfo.
◆ BMScheckEmptyBlockMemory_call()
long long BMScheckEmptyBlockMemory_call | ( | const BMS_BLKMEM * | blkmem | ) |
outputs error messages, if there are allocated elements in the block memory and returns number of unfreed bytes
- Parameters
-
blkmem block memory
Definition at line 2423 of file memory.c.
References CHKHASH_SIZE, errorMessage, FOR_EACH_NODE, LONGINT_FORMAT, NULL, and SCIP_UNUSED.
◆ BMScreateBufferMemory_call()
BMS_BUFMEM * BMScreateBufferMemory_call | ( | double | arraygrowfac, |
int | arraygrowinit, | ||
unsigned int | clean, | ||
const char * | filename, | ||
int | line | ||
) |
creates memory buffer storage
- Parameters
-
arraygrowfac memory growing factor for dynamically allocated arrays arraygrowinit initial size of dynamically allocated arrays clean should the memory blocks in the buffer be initialized to zero? filename source file of the function call line line number in source file of the function call
Definition at line 2518 of file memory.c.
References BMS_BufMem::arraygrowfac, BMS_BufMem::arraygrowinit, BMSallocMemory, BMS_BufMem::clean, BMS_BufMem::data, BMS_BufMem::firstfree, BMS_BufMem::ndata, NULL, printError, printErrorHeader, BMS_BufMem::size, BMS_BufMem::totalmem, and BMS_BufMem::used.
◆ BMSdestroyBufferMemory_call()
void BMSdestroyBufferMemory_call | ( | BMS_BUFMEM ** | buffer, |
const char * | filename, | ||
int | line | ||
) |
destroys buffer memory
- Parameters
-
buffer pointer to memory buffer storage filename source file of the function call line line number in source file of the function call
Definition at line 2554 of file memory.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, printError, and printErrorHeader.
◆ BMSsetBufferMemoryArraygrowfac()
void BMSsetBufferMemoryArraygrowfac | ( | BMS_BUFMEM * | buffer, |
double | arraygrowfac | ||
) |
set arraygrowfac
- Parameters
-
buffer pointer to memory buffer storage arraygrowfac memory growing factor for dynamically allocated arrays
Definition at line 2587 of file memory.c.
References BMS_BufMem::arraygrowfac, and NULL.
Referenced by SCIP_DECL_PARAMCHGD().
◆ BMSsetBufferMemoryArraygrowinit()
void BMSsetBufferMemoryArraygrowinit | ( | BMS_BUFMEM * | buffer, |
int | arraygrowinit | ||
) |
set arraygrowinit
- Parameters
-
buffer pointer to memory buffer storage arraygrowinit initial size of dynamically allocated arrays
Definition at line 2599 of file memory.c.
References BMS_BufMem::arraygrowinit, and NULL.
Referenced by SCIP_DECL_PARAMCHGD().
◆ BMSallocBufferMemory_call()
void * BMSallocBufferMemory_call | ( | BMS_BUFMEM * | buffer, |
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates the next unused buffer
- Parameters
-
buffer memory buffer storage size minimal required size of the buffer filename source file of the function call line line number in source file of the function call
Definition at line 2792 of file memory.c.
References BMSallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
Referenced by BMSduplicateBufferMemory_call(), and BMSreallocBufferMemory_work().
◆ BMSallocBufferMemoryArray_call()
void * BMSallocBufferMemoryArray_call | ( | BMS_BUFMEM * | buffer, |
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates the next unused buffer array
- Parameters
-
buffer memory buffer storage num size of array to be allocated typesize size of components filename source file of the function call line line number in source file of the function call
Definition at line 2812 of file memory.c.
References BMSallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
Referenced by BMSallocClearBufferMemoryArray_call(), and BMSduplicateBufferMemoryArray_call().
◆ BMSallocClearBufferMemoryArray_call()
void * BMSallocClearBufferMemoryArray_call | ( | BMS_BUFMEM * | buffer, |
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates the next unused buffer and clears it
- Parameters
-
buffer memory buffer storage num size of array to be allocated typesize size of components filename source file of the function call line line number in source file of the function call
Definition at line 2833 of file memory.c.
References BMSallocBufferMemoryArray_call(), BMSclearMemorySize, and NULL.
◆ BMSreallocBufferMemory_call()
void * BMSreallocBufferMemory_call | ( | BMS_BUFMEM * | buffer, |
void * | ptr, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
reallocates the buffer to at least the given size
- Parameters
-
buffer memory buffer storage ptr pointer to the allocated memory buffer size minimal required size of the buffer filename source file of the function call line line number in source file of the function call
Definition at line 2924 of file memory.c.
References BMSreallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
◆ BMSreallocBufferMemoryArray_call()
void * BMSreallocBufferMemoryArray_call | ( | BMS_BUFMEM * | buffer, |
void * | ptr, | ||
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
reallocates an array in the buffer to at least the given size
- Parameters
-
buffer memory buffer storage ptr pointer to the allocated memory buffer num size of array to be allocated typesize size of components filename source file of the function call line line number in source file of the function call
Definition at line 2945 of file memory.c.
References BMSreallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
◆ BMSduplicateBufferMemory_call()
void * BMSduplicateBufferMemory_call | ( | BMS_BUFMEM * | buffer, |
const void * | source, | ||
size_t | size, | ||
const char * | filename, | ||
int | line | ||
) |
allocates the next unused buffer and copies the given memory into the buffer
- Parameters
-
buffer memory buffer storage source memory block to copy into the buffer size minimal required size of the buffer filename source file of the function call line line number in source file of the function call
Definition at line 2967 of file memory.c.
References BMSallocBufferMemory_call(), BMScopyMemorySize, and NULL.
◆ BMSduplicateBufferMemoryArray_call()
void * BMSduplicateBufferMemoryArray_call | ( | BMS_BUFMEM * | buffer, |
const void * | source, | ||
size_t | num, | ||
size_t | typesize, | ||
const char * | filename, | ||
int | line | ||
) |
allocates an array in the next unused buffer and copies the given memory into the buffer
- Parameters
-
buffer memory buffer storage source memory block to copy into the buffer num size of array to be allocated typesize size of components filename source file of the function call line line number in source file of the function call
Definition at line 2990 of file memory.c.
References BMSallocBufferMemoryArray_call(), BMScopyMemorySize, and NULL.
◆ BMSfreeBufferMemory_call()
void BMSfreeBufferMemory_call | ( | BMS_BUFMEM * | buffer, |
void ** | ptr, | ||
const char * | filename, | ||
int | line | ||
) |
frees a buffer and sets pointer to NULL
- Parameters
-
buffer memory buffer storage ptr pointer to pointer to the allocated memory buffer filename source file of the function call line line number in source file of the function call
Definition at line 3086 of file memory.c.
References BMSfreeBufferMemory_work(), BMSfreeMemory, NULL, printError, and printErrorHeader.
◆ BMSfreeBufferMemoryNull_call()
void BMSfreeBufferMemoryNull_call | ( | BMS_BUFMEM * | buffer, |
void ** | ptr, | ||
const char * | filename, | ||
int | line | ||
) |
frees a buffer if pointer is not NULL and sets pointer to NULL
- Parameters
-
buffer memory buffer storage ptr pointer to pointer to the allocated memory buffer filename source file of the function call line line number in source file of the function call
Definition at line 3109 of file memory.c.
References BMSfreeBufferMemory_work(), BMSfreeMemory, and NULL.
◆ BMSgetNUsedBufferMemory()
size_t BMSgetNUsedBufferMemory | ( | BMS_BUFMEM * | buffer | ) |
gets number of used buffers
- Parameters
-
buffer memory buffer storage
Definition at line 3129 of file memory.c.
References BMS_BufMem::firstfree, and NULL.
Referenced by exitPresolve(), initPresolve(), presolve(), presolveRound(), priceAndCutLoop(), propagationRound(), propAndSolve(), SCIPprimalHeuristics(), SCIPsolveCIP(), separationRoundLP(), and solveNode().
◆ BMSgetBufferMemoryUsed()
long long BMSgetBufferMemoryUsed | ( | const BMS_BUFMEM * | buffer | ) |
returns the number of allocated bytes in the buffer memory
- Parameters
-
buffer buffer memory
Definition at line 3139 of file memory.c.
References BMS_BufMem::ndata, NULL, BMS_BufMem::size, and BMS_BufMem::totalmem.
Referenced by SCIPmemGetTotal(), and SCIPmemGetUsed().
◆ BMSprintBufferMemory()
void BMSprintBufferMemory | ( | BMS_BUFMEM * | buffer | ) |
outputs statistics about currently allocated buffers to the screen
- Parameters
-
buffer memory buffer storage
Definition at line 3157 of file memory.c.
References BMS_BufMem::data, BMS_BufMem::ndata, NULL, BMS_BufMem::size, and BMS_BufMem::used.
Referenced by SCIPprintMemoryDiagnostic().