/* Copyright (C) 1997 DJ Delorie, see COPYING.DJ for details */ #include char *buckets[32] = {0}; int bucket2size[32] = {0}; static inline int size2bucket(int size) { int rv = 0x1f; int bit = ~0x10; int i; if (size < 4) size = 4; size = (size+3)&~3; for (i=0; i<5; i++) { if (bucket2size[rv&bit] >= size) rv &= bit; bit>>=1; } return rv; } static void init_buckets() { unsigned b; for (b=0; b<32; b++) bucket2size[b] = (1<