72 #define qhmem_ERRmem 4 73 #define qhmem_ERRqhull 5 91 #if (defined(__MINGW64__)) && defined(_WIN64) 93 #elif (_MSC_VER) && defined(_WIN64) 165 #define qh_memalloc_(qh, insize, freelistp, object, type) {\ 166 object= (type*)qh_memalloc(qh, insize); } 167 #elif defined qh_TRACEshort 168 #define qh_memalloc_(qh, insize, freelistp, object, type) {\ 170 object= (type*)qh_memalloc(qh, insize); } 173 #define qh_memalloc_(qh, insize, freelistp, object, type) {\ 174 freelistp= qh->qhmem.freelists + qh->qhmem.indextable[insize];\ 175 if ((object= (type*)*freelistp)) {\ 176 qh->qhmem.totshort += qh->qhmem.sizetable[qh->qhmem.indextable[insize]]; \ 177 qh->qhmem.totfree -= qh->qhmem.sizetable[qh->qhmem.indextable[insize]]; \ 178 qh->qhmem.cntquick++; \ 179 *freelistp= *((void **)*freelistp);\ 180 }else object= (type*)qh_memalloc(qh, insize);} 194 #define qh_memfree_(qh, object, insize, freelistp) {\ 195 qh_memfree(qh, object, insize); } 196 #elif defined qh_TRACEshort 197 #define qh_memfree_(qh, object, insize, freelistp) {\ 199 qh_memfree(qh, object, insize); } 202 #define qh_memfree_(qh, object, insize, freelistp) {\ 204 qh->qhmem.freeshort++;\ 205 freelistp= qh->qhmem.freelists + qh->qhmem.indextable[insize];\ 206 qh->qhmem.totshort -= qh->qhmem.sizetable[qh->qhmem.indextable[insize]]; \ 207 qh->qhmem.totfree += qh->qhmem.sizetable[qh->qhmem.indextable[insize]]; \ 208 *((void **)object)= *freelistp;\ 209 *freelistp= object;}} 220 int bufsize,
int bufinit);
void qh_memsetup(qhT *qh)
void qh_memcheck(qhT *qh)
void qh_meminitbuffers(qhT *qh, int tracelevel, int alignment, int numsizes, int bufsize, int bufinit)
void qh_memtotal(qhT *qh, int *totlong, int *curlong, int *totshort, int *curshort, int *maxlong, int *totbuffer)
void * qh_memalloc(qhT *qh, int insize)
void qh_memfree(qhT *qh, void *object, int insize)
void qh_meminit(qhT *qh, FILE *ferr)
void qh_memsize(qhT *qh, int size)
void qh_memfreeshort(qhT *qh, int *curlong, int *totlong)
void qh_memstatistics(qhT *qh, FILE *fp)