2009-03-12 21:32:43 +00:00
|
|
|
#include "iarray.h"
|
|
|
|
|
|
|
|
void iarray_init(iarray* ia,size_t elemsize) {
|
|
|
|
ia->elemsize=elemsize;
|
|
|
|
ia->pages=0;
|
|
|
|
ia->pagefence=0;
|
|
|
|
if (elemsize<1024)
|
|
|
|
ia->bytesperpage=4096;
|
|
|
|
else if (elemsize<8192)
|
|
|
|
ia->bytesperpage=65536;
|
|
|
|
else
|
|
|
|
ia->bytesperpage=elemsize;
|
|
|
|
ia->elemperpage=ia->bytesperpage/elemsize;
|
2012-02-24 02:01:27 +00:00
|
|
|
#ifdef __MINGW32__
|
|
|
|
InitializeCriticalSection(&ia->cs);
|
|
|
|
#else
|
2009-03-12 21:32:43 +00:00
|
|
|
pthread_mutex_init(&ia->m,NULL);
|
2012-02-24 02:01:27 +00:00
|
|
|
#endif
|
2009-03-12 21:32:43 +00:00
|
|
|
}
|
|
|
|
|