summaryrefslogtreecommitdiffstats
path: root/test/tree_bench.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-11-14 01:21:25 +0100
committerDavid Robillard <d@drobilla.net>2018-11-14 12:10:06 +0100
commitf928e67b46bca4922532d909bddd116f3d991179 (patch)
tree37ded66bd0f3d5bdab9591f0beee5e4131bf07ec /test/tree_bench.c
parentaefc020257e5cf89ecec036a33ef1637297cecf7 (diff)
downloadzix-f928e67b46bca4922532d909bddd116f3d991179.tar.gz
zix-f928e67b46bca4922532d909bddd116f3d991179.tar.bz2
zix-f928e67b46bca4922532d909bddd116f3d991179.zip
Make comparator functions take const user data
Diffstat (limited to 'test/tree_bench.c')
-rw-r--r--test/tree_bench.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/test/tree_bench.c b/test/tree_bench.c
index adb395f..58535e4 100644
--- a/test/tree_bench.c
+++ b/test/tree_bench.c
@@ -45,7 +45,7 @@ unique_rand(uint32_t i)
}
static int
-int_cmp(const void* a, const void* b, void* user_data)
+int_cmp(const void* a, const void* b, const void* user_data)
{
const intptr_t ia = (intptr_t)a;
const intptr_t ib = (intptr_t)b;
@@ -60,6 +60,12 @@ int_cmp(const void* a, const void* b, void* user_data)
}
static int
+g_int_cmp(const void* a, const void* b, void* user_data)
+{
+ return int_cmp(a, b, user_data);
+}
+
+static int
test_fail(const char* fmt, ...)
{
va_list args;
@@ -304,7 +310,7 @@ bench_glib(size_t n_elems,
struct timespec insert_start = bench_start();
for (size_t i = 0; i < n_elems; ++i) {
r = unique_rand(i);
- GSequenceIter* iter = g_sequence_insert_sorted(t, (void*)r, int_cmp, NULL);
+ GSequenceIter* iter = g_sequence_insert_sorted(t, (void*)r, g_int_cmp, NULL);
if (!iter || g_sequence_iter_is_end(iter)) {
return test_fail("Failed to insert %zu\n", r);
}
@@ -315,7 +321,7 @@ bench_glib(size_t n_elems,
struct timespec search_start = bench_start();
for (size_t i = 0; i < n_elems; ++i) {
r = unique_rand(i);
- GSequenceIter* iter = g_sequence_lookup(t, (void*)r, int_cmp, NULL);
+ GSequenceIter* iter = g_sequence_lookup(t, (void*)r, g_int_cmp, NULL);
if (!iter || g_sequence_iter_is_end(iter)) {
return test_fail("Failed to find %zu\n", r);
}
@@ -335,7 +341,8 @@ bench_glib(size_t n_elems,
struct timespec del_start = bench_start();
for (size_t i = 0; i < n_elems; ++i) {
r = unique_rand(i);
- GSequenceIter* iter = g_sequence_lookup(t, (void*)r, int_cmp, NULL);
+ GSequenceIter* iter =
+ g_sequence_lookup(t, (void*)r, g_int_cmp, NULL);
if (!iter || g_sequence_iter_is_end(iter)) {
return test_fail("Failed to remove %zu\n", r);
}