diff --git a/freelist/main.c b/freelist/main.c index 0841d2e..49aa19b 100644 --- a/freelist/main.c +++ b/freelist/main.c @@ -17,16 +17,21 @@ void printvec(const Vec3 *v) { printf("Vec3: (%d, %d, %d)\n", v->x, v->y, v->z); } +#define BUFFER_SIZE (4096) + int main() { - FreeList fl; - char *mem = malloc(4096); + FreeList fl; + const char *mem = malloc(BUFFER_SIZE); + + fl_init(&fl, (uintptr_t)mem, (uintptr_t)mem + BUFFER_SIZE, sizeof(Vec3)); + const size_t cap = fl_capacity(&fl); + + printf("Item size: %lu\n", sizeof(Vec3)); + printf("Buffer size: %d\n", BUFFER_SIZE); + printf("Space utilization internal: %.2f%%\n", 100.0 * fl_utilization(&fl, sizeof(Vec3))); - fl_init(&fl, (uintptr_t)mem, (uintptr_t)mem + 4096, sizeof(Vec3)); - size_t cap = fl_capacity(&fl); assert(fl_available(&fl) == cap); - printf("Space utilization: %.2f%%\n", 100.0 * fl_utilization(&fl, sizeof(Vec3))); - Vec3 *a = fl_alloc(&fl); Vec3 *b = fl_alloc(&fl); Vec3 *c = fl_alloc(&fl);