From d5a727a062e4d727491f4e7f047269d60a93a8cf Mon Sep 17 00:00:00 2001 From: Mitya Selivanov Date: Sun, 17 Nov 2024 05:24:04 +0100 Subject: Remove lots of dependencies --- kit/dynamic_array.c | 81 ----------------------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 kit/dynamic_array.c (limited to 'kit/dynamic_array.c') diff --git a/kit/dynamic_array.c b/kit/dynamic_array.c deleted file mode 100644 index ede817b..0000000 --- a/kit/dynamic_array.c +++ /dev/null @@ -1,81 +0,0 @@ -#include "dynamic_array.h" - -#include - -void kit_da_init(kit_da_void_t *array, i64 element_size, i64 size, - kit_allocator_t *alloc) { - assert(array != NULL); - assert(element_size > 0); - assert(size >= 0); - - memset(array, 0, sizeof(kit_da_void_t)); - - if (size > 0) - array->values = kit_alloc_dispatch(alloc, KIT_ALLOCATE, - element_size * size, 0, NULL); - - if (array->values != NULL) { - array->capacity = size; - array->size = size; - } - - array->alloc = alloc; -} - -static i64 eval_capacity(i64 current_cap, i64 required_cap) { - if (current_cap == 0) - return required_cap; - i64 cap = current_cap; - while (cap < required_cap) cap *= 2; - return cap; -} - -void kit_da_resize(kit_da_void_t *array, i64 element_size, i64 size) { - assert(array != NULL); - assert(element_size > 0); - assert(size >= 0); - - if (size <= array->capacity) { - array->size = size; - } else { - i64 capacity = eval_capacity(array->capacity, size); - - void *bytes = kit_alloc_dispatch( - array->alloc, KIT_ALLOCATE, element_size * capacity, 0, NULL); - - if (bytes != NULL) { - if (array->size > 0) - memcpy(bytes, array->values, element_size * array->size); - if (array->values != NULL) - kit_alloc_dispatch(array->alloc, KIT_DEALLOCATE, 0, 0, - array->values); - array->capacity = capacity; - array->size = size; - array->values = bytes; - } - } -} - -void kit_da_resize_exact(kit_da_void_t *array, i64 element_size, - i64 capacity) { - assert(array != NULL); - assert(element_size > 0); - assert(capacity >= 0); - - void *bytes = capacity <= 0 - ? NULL - : kit_alloc_dispatch(array->alloc, KIT_ALLOCATE, - element_size * capacity, 0, - NULL); - - if (bytes != NULL || capacity == 0) { - if (array->size > 0 && capacity > 0) - memcpy(bytes, array->values, element_size * array->size); - if (array->values != NULL) - kit_alloc_dispatch(array->alloc, KIT_DEALLOCATE, 0, 0, - array->values); - array->capacity = capacity; - array->size = capacity; - array->values = bytes; - } -} -- cgit v1.2.3