From b1de47b93bcc706c9846fedda33fc9c8f282dd65 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Sun, 17 Jan 2021 23:22:41 +0100 Subject: Templated skew(), split(), and next() because of gcc -O3 bugs. --- examples/csmap_ex.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'examples') diff --git a/examples/csmap_ex.c b/examples/csmap_ex.c index dac82339..13fbe977 100644 --- a/examples/csmap_ex.c +++ b/examples/csmap_ex.c @@ -11,40 +11,45 @@ using_csset_str(); int main(int argc, char **argv) { csmap_i map = csmap_i_init(); - time_t seed = time(NULL); + time_t seed = 123 ; // time(NULL); - size_t n = 1000000; + size_t n = 5000000; uint64_t mask = (1ull << 20) - 1; + csmap_i_iter_t it; + stc64_srandom(seed); for (size_t i = 0; i < n; ++i) { - csmap_i_emplace(&map, stc64_random() & mask, i); + uint64_t val = stc64_random() & mask; + csmap_i_emplace(&map, val, i); + if (!csmap_i_find(&map, val, &it)) { + printf("Not found: %zu, %zu: ", i, val); + } } - puts("inserted"); stc64_srandom(seed); for (unsigned int i = 0; i < n - 50; ++i) { csmap_i_erase(&map, stc64_random() & mask); } - + csmap_i_emplace(&map, 500000, 5); c_foreach (i, csmap_i, map) printf("-- %d: %d\n", i.ref->first, i.ref->second); puts(""); - csmap_i_iter_t it; - printf("min/max: %d -- %d: %d: %zu\n\n", csmap_i_front(&map)->first, - csmap_i_back(&map)->first, - csmap_i_find(&map, 500000, &it) != NULL, - csmap_i_size(map)); + csmap_i_find(&map, 500000, &it); c_foreach (i, csmap_i, it, csmap_i_end(&map)) printf("-- %d: %d\n", i.ref->first, i.ref->second); printf("\n%d: %d\n", 500000, *csmap_i_at(&map, 500000)); + printf("min/max: %d -- %d: %d: %zu\n\n", csmap_i_front(&map)->first, + csmap_i_back(&map)->first, + csmap_i_find(&map, 500000, &it) != NULL, + csmap_i_size(map)); + csmap_i_del(&map); puts("done\n"); - c_init (csset_str, names, { "Hello", "Try this", "Awesome", "Works well", "Greetings" }); -- cgit v1.2.3