From 38f0cf8fde2f27562da341217f49772c7bf0d42d Mon Sep 17 00:00:00 2001 From: Mineplay Date: Mon, 7 Jul 2025 17:54:24 -0500 Subject: [PATCH] refactor(datatypes): removed magical numbers and changed them for constant values --- Include/Fledasty/Core/DynamicArray.h | 10 ++++++---- Include/Fledasty/Core/HashTable.h | 13 ++++++++----- Include/Fledasty/Core/Queue.h | 6 ++++-- Include/Fledasty/Core/Stack.h | 6 ++++-- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Include/Fledasty/Core/DynamicArray.h b/Include/Fledasty/Core/DynamicArray.h index 544e4cb..e2ebf4b 100644 --- a/Include/Fledasty/Core/DynamicArray.h +++ b/Include/Fledasty/Core/DynamicArray.h @@ -32,6 +32,8 @@ #include "../Utils/Error.h" +static const size_t FLEDASTY_DYNAMIC_ARRAY_DEFAULT_ALLOCATION_SIZE = 16; + #define FLEDASTY_DYNAMIC_ARRAY_DEFINE(type, name) \ typedef struct { \ size_t size, capacity; \ @@ -78,7 +80,7 @@ FledastyError fledasty_dynamic_array_##name##_append(FledastyDynamicArray_##name } \ \ if (current_dynamic_array->size == current_dynamic_array->capacity) { \ - current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : 16; \ + current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : FLEDASTY_DYNAMIC_ARRAY_DEFAULT_ALLOCATION_SIZE; \ current_dynamic_array->buffer = (type*)hallocy_realloc(current_dynamic_array->buffer, current_dynamic_array->capacity * sizeof(type)); \ \ if (current_dynamic_array->buffer == NULL) { \ @@ -100,7 +102,7 @@ FledastyError fledasty_dynamic_array_##name##_insert_at_index(FledastyDynamicArr } \ \ if (current_dynamic_array->size == current_dynamic_array->capacity) { \ - current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : 16; \ + current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : FLEDASTY_DYNAMIC_ARRAY_DEFAULT_ALLOCATION_SIZE; \ current_dynamic_array->buffer = (type*)hallocy_realloc(current_dynamic_array->buffer, current_dynamic_array->capacity * sizeof(type)); \ \ if (current_dynamic_array->buffer == NULL) { \ @@ -124,7 +126,7 @@ FledastyError fledasty_dynamic_array_##name##_insert_before_value(FledastyDynami for (size_t index = 0; index < current_dynamic_array->size; index += 1) { \ if (compare_function(current_dynamic_array->buffer[index], before_value)) { \ if (current_dynamic_array->size == current_dynamic_array->capacity) { \ - current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : 16; \ + current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : FLEDASTY_DYNAMIC_ARRAY_DEFAULT_ALLOCATION_SIZE; \ current_dynamic_array->buffer = (type*)hallocy_realloc(current_dynamic_array->buffer, current_dynamic_array->capacity * sizeof(type)); \ \ if (current_dynamic_array->buffer == NULL) { \ @@ -152,7 +154,7 @@ FledastyError fledasty_dynamic_array_##name##_insert_after_value(FledastyDynamic for (size_t index = 0; index < current_dynamic_array->size; index += 1) { \ if (compare_function(current_dynamic_array->buffer[index], after_value)) { \ if (current_dynamic_array->size == current_dynamic_array->capacity) { \ - current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : 16; \ + current_dynamic_array->capacity += current_dynamic_array->capacity ? current_dynamic_array->capacity : FLEDASTY_DYNAMIC_ARRAY_DEFAULT_ALLOCATION_SIZE; \ current_dynamic_array->buffer = (type*)hallocy_realloc(current_dynamic_array->buffer, current_dynamic_array->capacity * sizeof(type)); \ \ if (current_dynamic_array->buffer == NULL) { \ diff --git a/Include/Fledasty/Core/HashTable.h b/Include/Fledasty/Core/HashTable.h index 8ffc78c..fc5f1f4 100644 --- a/Include/Fledasty/Core/HashTable.h +++ b/Include/Fledasty/Core/HashTable.h @@ -33,6 +33,10 @@ #include "../Utils/Error.h" #include "DynamicArray.h" +static const int FLEDASTY_HASH_TABLE_TOTAL_SIZE_PERCENTAGE = 100; +static const int FLEDASTY_HASH_TABLE_THRESHOLD_SIZE_PERCENTAGE = 75; +static const size_t FLEDASTY_HASH_TABLE_DEFAULT_ALLOCATION_SIZE = 1024; + #define FLEDASTY_HASH_TABLE_DEFINE(key_type, value_type, name, compare_key_function) \ typedef struct { \ key_type key; \ @@ -63,7 +67,6 @@ static inline bool fledasty_hash_table_##name##_compare_pair(const FledastyHashT #define FLEDASTY_HASH_TABLE_IMPLEMENT(key_type, value_type, name, compare_key_function) \ FLEDASTY_DYNAMIC_ARRAY_IMPLEMENT(FledastyHashTablePair_##name, fledasty_internal_pair, fledasty_hash_table_##name##_compare_pair) \ -static const int FLEDASTY_HASH_TABLE_SIZE_THRESHOLD = 75; \ \ FledastyError fledasty_hash_table_##name##_free(FledastyHashTable_##name *current_hash_table) { \ if (current_hash_table == NULL) { \ @@ -89,11 +92,11 @@ FledastyError fledasty_hash_table_##name##_insert(FledastyHashTable_##name *curr return FLEDASTY_ERROR_INVALID_POINTER; \ } \ \ - if (current_hash_table->size >= (current_hash_table->capacity * FLEDASTY_HASH_TABLE_SIZE_THRESHOLD) / 100) { \ + if (current_hash_table->size >= (current_hash_table->capacity * FLEDASTY_HASH_TABLE_THRESHOLD_SIZE_PERCENTAGE) / FLEDASTY_HASH_TABLE_TOTAL_SIZE_PERCENTAGE) { \ const size_t old_capacity = current_hash_table->capacity; \ FledastyDynamicArray_fledasty_internal_pair *previous_table = current_hash_table->Table; \ \ - current_hash_table->capacity += current_hash_table->capacity ? current_hash_table->capacity : 1024; \ + current_hash_table->capacity += current_hash_table->capacity ? current_hash_table->capacity : FLEDASTY_HASH_TABLE_DEFAULT_ALLOCATION_SIZE; \ current_hash_table->Table = (FledastyDynamicArray_fledasty_internal_pair*)hallocy_calloc(sizeof(FledastyDynamicArray_fledasty_internal_pair), current_hash_table->capacity); \ if (current_hash_table->Table == NULL) { \ return FLEDASTY_ERROR_FAILED_ALLOCATION; \ @@ -194,9 +197,9 @@ FledastyError fledasty_hash_table_##name##_shrink_to_fit(FledastyHashTable_##nam FledastyDynamicArray_fledasty_internal_pair *previous_table = current_hash_table->Table; \ \ if (current_hash_table->size == 0) { \ - current_hash_table->capacity = 1024; \ + current_hash_table->capacity = FLEDASTY_HASH_TABLE_DEFAULT_ALLOCATION_SIZE; \ } else { \ - current_hash_table->capacity = (current_hash_table->size * 100) / FLEDASTY_HASH_TABLE_SIZE_THRESHOLD; \ + current_hash_table->capacity = (current_hash_table->size * FLEDASTY_HASH_TABLE_TOTAL_SIZE_PERCENTAGE) / FLEDASTY_HASH_TABLE_THRESHOLD_SIZE_PERCENTAGE; \ } \ \ current_hash_table->Table = (FledastyDynamicArray_fledasty_internal_pair*)hallocy_calloc(sizeof(FledastyDynamicArray_fledasty_internal_pair), current_hash_table->capacity); \ diff --git a/Include/Fledasty/Core/Queue.h b/Include/Fledasty/Core/Queue.h index 9c5585c..a6a1a03 100644 --- a/Include/Fledasty/Core/Queue.h +++ b/Include/Fledasty/Core/Queue.h @@ -31,6 +31,8 @@ #include "../Utils/Error.h" +static const size_t FLEDASTY_QUEUE_DEFAULT_ALLOCATION_SIZE = 16; + #define FLEDASTY_QUEUE_DEFINE(type, name) \ typedef struct { \ size_t size, capacity; \ @@ -72,7 +74,7 @@ FledastyError fledasty_queue_##name##_push(FledastyQueue_##name *current_queue, } \ \ if (current_queue->size == current_queue->capacity) { \ - current_queue->capacity += current_queue->capacity ? current_queue->capacity : 16; \ + current_queue->capacity += current_queue->capacity ? current_queue->capacity : FLEDASTY_QUEUE_DEFAULT_ALLOCATION_SIZE; \ current_queue->buffer = (type*)hallocy_realloc(current_queue->buffer, current_queue->capacity * sizeof(type)); \ \ if (current_queue->buffer == NULL) { \ @@ -129,7 +131,7 @@ FledastyError fledasty_queue_##name##_shrink_to_fit(FledastyQueue_##name *curren return FLEDASTY_ERROR_INVALID_POINTER; \ } \ \ - size_t new_capacity = (current_queue->size == 0) ? 16 : current_queue->size; \ + size_t new_capacity = (current_queue->size == 0) ? FLEDASTY_QUEUE_DEFAULT_ALLOCATION_SIZE : current_queue->size; \ type *shrinked_buffer = (type*)hallocy_malloc(new_capacity * sizeof(type)); \ if (shrinked_buffer == NULL) { \ return FLEDASTY_ERROR_FAILED_ALLOCATION; \ diff --git a/Include/Fledasty/Core/Stack.h b/Include/Fledasty/Core/Stack.h index 3eddfc9..c756c3e 100644 --- a/Include/Fledasty/Core/Stack.h +++ b/Include/Fledasty/Core/Stack.h @@ -31,6 +31,8 @@ #include "../Utils/Error.h" +static const size_t FLEDASTY_STACK_DEFAULT_ALLOCATION_SIZE = 16; + #define FLEDASTY_STACK_DEFINE(type, name) \ typedef struct { \ size_t size, capacity; \ @@ -71,7 +73,7 @@ FledastyError fledasty_stack_##name##_push(FledastyStack_##name *current_stack, } \ \ if (current_stack->size == current_stack->capacity) { \ - current_stack->capacity += current_stack->capacity ? current_stack->capacity : 16; \ + current_stack->capacity += current_stack->capacity ? current_stack->capacity : FLEDASTY_STACK_DEFAULT_ALLOCATION_SIZE; \ current_stack->buffer = (type*)hallocy_realloc(current_stack->buffer, current_stack->capacity * sizeof(type)); \ \ if (current_stack->buffer == NULL) { \ @@ -97,7 +99,7 @@ FledastyError fledasty_stack_##name##_shrink_to_fit(FledastyStack_##name *curren return FLEDASTY_ERROR_INVALID_POINTER; \ } \ \ - current_stack->capacity = (current_stack->size == 0) ? 10 : current_stack->size; \ + current_stack->capacity = (current_stack->size == 0) ? FLEDASTY_STACK_DEFAULT_ALLOCATION_SIZE : current_stack->size; \ type *shrinked_buffer = (type*)hallocy_malloc(current_stack->capacity * sizeof(type)); \ if (shrinked_buffer == NULL) { \ return FLEDASTY_ERROR_FAILED_ALLOCATION; \