From 98e2f294c8ac263cd14d10e10df0bc67e7557d9e Mon Sep 17 00:00:00 2001 From: Tyge Date: Mon, 27 Apr 2020 12:47:24 +0200 Subject: Changed parameter sequence for main code gen macros. --- stc/cflist.h | 16 ++++++++-------- stc/cmap.h | 34 +++++++++++++++++----------------- stc/cvector.h | 16 ++++++++-------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/stc/cflist.h b/stc/cflist.h index d35ccea4..81a56a23 100644 --- a/stc/cflist.h +++ b/stc/cflist.h @@ -81,9 +81,9 @@ #define declare_CFList_3(tag, Value, valueDestroy) \ declare_CFList_4(tag, Value, valueDestroy, c_defaultCompare) #define declare_CFList_4(tag, Value, valueDestroy, valueCompare) \ - declare_CFList_6(tag, Value, valueDestroy, valueCompare, Value, c_defaultGetRaw) + declare_CFList_6(tag, Value, valueDestroy, Value, valueCompare, c_defaultGetRaw) #define declare_CFList_string(tag) \ - declare_CFList_6(tag, CString, cstring_destroy, cstring_compareRaw, const char*, cstring_getRaw) + declare_CFList_6(tag, CString, cstring_destroy, const char*, cstring_compareRaw, cstring_getRaw) #define declare_CFListTypes(tag, Value) \ c_struct (CFListNode_##tag) { \ @@ -105,7 +105,7 @@ #define cflist_empty(list) ((list).last == NULL) -#define declare_CFList_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) \ +#define declare_CFList_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) \ \ declare_CFListTypes(tag, Value); \ typedef ValueRaw cflist_##tag##_raw_t; \ @@ -154,7 +154,7 @@ cflist_##tag##_iter_t it = {lst->last, &lst->last}; return it; \ } \ \ - implement_CFList_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) \ + implement_CFList_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) \ \ typedef Value cflist_##tag##_value_t @@ -162,7 +162,7 @@ /* -------------------------- IMPLEMENTATION ------------------------- */ #if !defined(STC_HEADER) || defined(STC_IMPLEMENTATION) -#define implement_CFList_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) \ +#define implement_CFList_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) \ \ STC_API void \ cflist_##tag##_destroy(CFList_##tag* self) { \ @@ -223,7 +223,7 @@ cflist_##tag##_iter_t prev = {self->last}; int n = 0; \ ValueRaw r; \ c_foreach (i, cflist_##tag, *self) { \ - if (valueCompare((r = valueGetRaw(&i.item->value), &r), &val) == 0) { \ + if (valueCompareRaw((r = valueGetRaw(&i.item->value), &r), &val) == 0) { \ cflist_##tag##_eraseAfter(self, prev), ++n; \ if (prev.item == i.item) break; \ } \ @@ -236,7 +236,7 @@ cflist_##tag##_sortCmp(const void* x, const void* y) { \ ValueRaw a = valueGetRaw(&((CFListNode_##tag *) x)->value); \ ValueRaw b = valueGetRaw(&((CFListNode_##tag *) y)->value); \ - return valueCompare(&a, &b); \ + return valueCompareRaw(&a, &b); \ } \ STC_API void \ cflist_##tag##_sort(CFList_##tag* self) { \ @@ -320,7 +320,7 @@ _cflist_mergesort(CFListNode__base *list, int (*cmp)(const void*, const void*)) } #else -#define implement_CFList_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) +#define implement_CFList_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) #endif #endif diff --git a/stc/cmap.h b/stc/cmap.h index 9f3f80f2..7d94eb16 100644 --- a/stc/cmap.h +++ b/stc/cmap.h @@ -42,11 +42,11 @@ enum {cmapentry_HASH=0x7fff, cmapentry_USED=0x8000}; declare_CMap_5(tag, Key, Value, valueDestroy, c_defaultHash) #define declare_CMap_5(tag, Key, Value, valueDestroy, keyHash) \ - declare_CMap_7(tag, Key, Value, valueDestroy, keyHash, c_defaultEquals, c_noDestroy) + declare_CMap_6(tag, Key, Value, valueDestroy, keyHash, c_defaultEquals) -#define declare_CMap_7(tag, Key, Value, valueDestroy, keyHash, keyEquals, keyDestroy) \ - declare_CMap_10(tag, Key, Value, valueDestroy, keyHash, keyEquals, keyDestroy, \ - Key, c_defaultGetRaw, c_defaultInitRaw) +#define declare_CMap_6(tag, Key, Value, valueDestroy, keyHash, keyEquals) \ + declare_CMap_10(tag, Key, Value, valueDestroy, c_noDestroy, Key, \ + keyHash, keyEquals, c_defaultGetRaw, c_defaultInitRaw) /* CMap: */ @@ -57,13 +57,13 @@ enum {cmapentry_HASH=0x7fff, cmapentry_USED=0x8000}; declare_CMap_stringkey_3(tag, Value, c_noDestroy) #define declare_CMap_stringkey_3(tag, Value, valueDestroy) \ - declare_CMap_10(tag, CString, Value, valueDestroy, cstring_hashRaw, cstring_equalsRaw, cstring_destroy, \ - const char*, cstring_getRaw, cstring_make) + declare_CMap_10(tag, CString, Value, valueDestroy, cstring_destroy, const char*, \ + cstring_hashRaw, cstring_equalsRaw, cstring_getRaw, cstring_make) /* CMap full: */ -#define declare_CMap_10(tag, Key, Value, valueDestroy, keyHashRaw, keyEqualsRaw, keyDestroy, \ - RawKey, keyGetRaw, keyInitRaw) \ +#define declare_CMap_10(tag, Key, Value, valueDestroy, keyDestroy, RawKey, \ + keyHashRaw, keyEqualsRaw, keyGetRaw, keyInitRaw) \ \ struct CMapEntry_##tag { \ Key key; \ @@ -130,8 +130,8 @@ cmap_##tag##_begin(CMap_##tag* map); \ STC_API cmap_##tag##_iter_t \ cmap_##tag##_next(cmap_##tag##_iter_t it); \ \ -implement_CMap_10(tag, Key, Value, valueDestroy, keyHashRaw, keyEqualsRaw, keyDestroy, \ - RawKey, keyGetRaw, keyInitRaw) \ +implement_CMap_10(tag, Key, Value, valueDestroy, keyDestroy, RawKey, \ + keyHashRaw, keyEqualsRaw, keyGetRaw, keyInitRaw) \ \ typedef Key cmap_##tag##_key_t; \ typedef Value cmap_##tag##_value_t @@ -139,8 +139,8 @@ typedef Value cmap_##tag##_value_t /* -------------------------- IMPLEMENTATION ------------------------- */ #if !defined(STC_HEADER) || defined(STC_IMPLEMENTATION) -#define implement_CMap_10(tag, Key, Value, valueDestroy, keyHashRaw, keyEqualsRaw, keyDestroy, \ - RawKey, keyGetRaw, keyInitRaw) \ +#define implement_CMap_10(tag, Key, Value, valueDestroy, keyDestroy, RawKey, \ + keyHashRaw, keyEqualsRaw, keyGetRaw, keyInitRaw) \ \ STC_API void \ cmap_##tag##_destroy(CMap_##tag* self) { \ @@ -299,15 +299,15 @@ cmap_##tag##_next(cmap_##tag##_iter_t it) { \ if (it.item == it._end) it.item = NULL; \ return it; \ } -#else -#define implement_CMap_10(tag, Key, Value, valueDestroy, keyHashRaw, keyEqualsRaw, keyDestroy, \ - RawKey, keyGetRaw, keyInitRaw) -#endif - /* https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction */ static inline uint32_t cmap_reduce(uint32_t x, uint32_t N) { return ((uint64_t) x * (uint64_t) N) >> 32 ; } +#else +#define implement_CMap_10(tag, Key, Value, valueDestroy, keyDestroy, RawKey, \ + keyHashRaw, keyEqualsRaw, keyGetRaw, keyInitRaw) +#endif + #endif diff --git a/stc/cvector.h b/stc/cvector.h index 4430a750..0e64fd86 100644 --- a/stc/cvector.h +++ b/stc/cvector.h @@ -38,12 +38,12 @@ #define declare_CVector_3(tag, Value, valueDestroy) \ declare_CVector_4(tag, Value, valueDestroy, c_defaultCompare) #define declare_CVector_4(tag, Value, valueDestroy, valueCompare) \ - declare_CVector_6(tag, Value, valueDestroy, valueCompare, Value, c_defaultGetRaw) + declare_CVector_6(tag, Value, valueDestroy, Value, valueCompare, c_defaultGetRaw) #define declare_CVector_string(tag) \ - declare_CVector_6(tag, CString, cstring_destroy, cstring_compareRaw, const char*, cstring_getRaw) + declare_CVector_6(tag, CString, cstring_destroy, const char*, cstring_compareRaw, cstring_getRaw) -#define declare_CVector_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) \ +#define declare_CVector_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) \ typedef ValueRaw cvector_##tag##_rawvalue_t; \ typedef struct CVector_##tag { \ Value* data; \ @@ -103,14 +103,14 @@ cvector_##tag##_next(cvector_##tag##_iter_t it) { \ return it; \ } \ \ -implement_CVector_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) \ +implement_CVector_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) \ \ typedef Value cvector_##tag##_value_t /* -------------------------- IMPLEMENTATION ------------------------- */ #if !defined(STC_HEADER) || defined(STC_IMPLEMENTATION) -#define implement_CVector_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) \ +#define implement_CVector_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) \ \ STC_API void \ cvector_##tag##_destroy(CVector_##tag* self) { \ @@ -173,7 +173,7 @@ cvector_##tag##_find(CVector_##tag cv, ValueRaw rawValue) { \ size_t n = cvector_size(cv); \ cvector_##tag##_rawvalue_t r; \ for (size_t i = 0; i < n; ++i) { \ - if (valueCompare((r = valueGetRaw(&cv.data[i]), &r), &rawValue) == 0) return i; \ + if (valueCompareRaw((r = valueGetRaw(&cv.data[i]), &r), &rawValue) == 0) return i; \ } \ return c_npos; \ } \ @@ -182,7 +182,7 @@ STC_API int \ cvector_##tag##_sortCompare(const void* x, const void* y) { \ ValueRaw rx = valueGetRaw((const Value *) x); \ ValueRaw ry = valueGetRaw((const Value *) y); \ - return valueCompare(&rx, &ry); \ + return valueCompareRaw(&rx, &ry); \ } \ extern void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); \ STC_API void \ @@ -199,7 +199,7 @@ cvector_##tag##_begin(CVector_##tag* vec) { \ return it; \ } #else -#define implement_CVector_6(tag, Value, valueDestroy, valueCompare, ValueRaw, valueGetRaw) +#define implement_CVector_6(tag, Value, valueDestroy, ValueRaw, valueCompareRaw, valueGetRaw) #endif -- cgit v1.2.3