From 95ee6f829b9ba379e883f4295d96dad5a0c738dd Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 18 Mar 2025 15:35:34 -0400 Subject: pke: refactor PkeArray, typdef count + store bkt --- src/array.hpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/array.hpp') diff --git a/src/array.hpp b/src/array.hpp index c8a9cb6..883d512 100644 --- a/src/array.hpp +++ b/src/array.hpp @@ -7,15 +7,19 @@ #include #include +typedef uint32_t PkeArray_Count_T; + struct PkeArray_Base { - uint32_t next = 0; - uint32_t reserved = 0; + PkeArray_Count_T next = 0; + PkeArray_Count_T reserved = 0; + struct pk_membucket *bkt; }; template struct PkeArray : PkeArray_Base { using PkeArray_Base::next; using PkeArray_Base::reserved; + using PkeArray_Base::bkt; D *data = nullptr; }; @@ -32,7 +36,7 @@ inline void PkeArray_SoftReset(PkeArray_Base *arrIn) { } template -inline void PkeArray_Add(PkeArray_Base *arrIn, const D &val, struct pk_membucket *bkt = nullptr) { +inline void PkeArray_Add(PkeArray_Base *arrIn, const D &val) { auto *arr = static_cast *>(arrIn); if (arr->reserved == arr->next) { long originalCount = arr->reserved; @@ -44,7 +48,7 @@ inline void PkeArray_Add(PkeArray_Base *arrIn, const D &val, struct pk_membucket arr->reserved *= 2.5; diff = arr->reserved - originalCount; } - auto *newData = pk_new(arr->reserved, bkt); + auto *newData = pk_new(arr->reserved, arr->bkt); if constexpr (std::is_trivial::value) { memset(newData + (sizeof(D) * originalCount), 0x00, sizeof(D) * diff); } else { @@ -60,7 +64,7 @@ inline void PkeArray_Add(PkeArray_Base *arrIn, const D &val, struct pk_membucket newData[i] = arr->data[i]; } } - pk_delete(arr->data, originalCount, bkt); + pk_delete(arr->data, originalCount, arr->bkt); } arr->data = newData; } -- cgit v1.2.3