diff options
| author | Tyge <[email protected]> | 2020-04-27 12:47:24 +0200 |
|---|---|---|
| committer | Tyge <[email protected]> | 2020-04-27 12:47:24 +0200 |
| commit | 98e2f294c8ac263cd14d10e10df0bc67e7557d9e (patch) | |
| tree | 0b75a660cb02a0d82b3b3bd3df26bcbc8b90e926 | |
| parent | 846347b4dc70c599fb16c2e01b163f15602aaa09 (diff) | |
| download | STC-modified-98e2f294c8ac263cd14d10e10df0bc67e7557d9e.tar.gz STC-modified-98e2f294c8ac263cd14d10e10df0bc67e7557d9e.zip | |
Changed parameter sequence for main code gen macros.
| -rw-r--r-- | stc/cflist.h | 16 | ||||
| -rw-r--r-- | stc/cmap.h | 34 | ||||
| -rw-r--r-- | 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 @@ -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<CString, Value>: */
@@ -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
|
