diff options
| author | Tyge Løvset <[email protected]> | 2021-01-17 23:22:41 +0100 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2021-01-17 23:22:41 +0100 |
| commit | b1de47b93bcc706c9846fedda33fc9c8f282dd65 (patch) | |
| tree | 2984edcec1c7a63a327ce3313bbca6e33e111c34 /examples | |
| parent | 67f0270a59f0e83b39ac8792a0cf322ea43be39e (diff) | |
| download | STC-modified-b1de47b93bcc706c9846fedda33fc9c8f282dd65.tar.gz STC-modified-b1de47b93bcc706c9846fedda33fc9c8f282dd65.zip | |
Templated skew(), split(), and next() because of gcc -O3 bugs.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/csmap_ex.c | 27 |
1 files changed, 16 insertions, 11 deletions
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"
});
|
