summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTyge <[email protected]>2020-04-27 12:47:24 +0200
committerTyge <[email protected]>2020-04-27 12:47:24 +0200
commit98e2f294c8ac263cd14d10e10df0bc67e7557d9e (patch)
tree0b75a660cb02a0d82b3b3bd3df26bcbc8b90e926
parent846347b4dc70c599fb16c2e01b163f15602aaa09 (diff)
downloadSTC-modified-98e2f294c8ac263cd14d10e10df0bc67e7557d9e.tar.gz
STC-modified-98e2f294c8ac263cd14d10e10df0bc67e7557d9e.zip
Changed parameter sequence for main code gen macros.
-rw-r--r--stc/cflist.h16
-rw-r--r--stc/cmap.h34
-rw-r--r--stc/cvector.h16
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<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