12 # define GLOBAL_OPTS_H 44 static void*
c_calloc(
size_t num,
size_t size) {
45 void *m = mxCalloc(num, size);
46 mexMakeMemoryPersistent(m);
51 void *m = mxMalloc(size);
53 mexMakeMemoryPersistent(m);
57 static void*
c_realloc(
void *ptr,
size_t size) {
58 void *m = mxRealloc(ptr, size);
60 mexMakeMemoryPersistent(m);
64 # define c_free mxFree 70 # define c_malloc PyMem_Malloc 71 # if PY_MAJOR_VERSION >= 3 72 # define c_calloc PyMem_Calloc 74 static void*
c_calloc(
size_t num,
size_t size) {
75 void *m = PyMem_Malloc(num * size);
77 memset(m, 0, num * size);
83 # define c_free PyMem_Free 84 # define c_realloc PyMem_Realloc 86 # define c_malloc malloc 87 # define c_calloc calloc 89 # define c_realloc realloc 104 # define c_print mexPrintf 106 # elif defined PYTHON 108 # define c_print(...) {PyGILState_STATE gstate; gstate = PyGILState_Ensure(); PySys_WriteStdout(__VA_ARGS__); PyGILState_Release(gstate);} 109 # elif defined R_LANG 110 # include <R_ext/Print.h> 111 # define c_print Rprintf 113 # define c_print printf 117 # define c_eprint(...) c_print("ERROR in %s: ", __FUNCTION__); c_print( \ 118 __VA_ARGS__); c_print("\n"); 128 # define c_absval(x) (((x) < 0) ? -(x) : (x)) 132 # define c_max(a, b) (((a) > (b)) ? (a) : (b)) 136 # define c_min(a, b) (((a) < (b)) ? (a) : (b)) 140 # define mod(a,b) ((((a)%(b))+(b))%(b)) #define c_malloc
custom malloc
Definition: global_opts.h:86
#define c_calloc
custom calloc
Definition: global_opts.h:87
#define c_realloc
custom realloc
Definition: global_opts.h:89
ladel_int c_int
type for integer numbers
Definition: global_opts.h:21
ladel_double c_float
type for floating point numbers
Definition: global_opts.h:20