summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2022-04-07 16:38:47 +0200
committerTyge Løvset <[email protected]>2022-04-07 16:38:47 +0200
commit40cd61ca7d5f9d32931b3a2313aef65e13c950b6 (patch)
treeae0a2139a43ecd2798c0f7f6f29d52b4a0486470 /examples
parent03e36c56d8f61a6cbf2ca124134915999594fc91 (diff)
downloadSTC-modified-40cd61ca7d5f9d32931b3a2313aef65e13c950b6.tar.gz
STC-modified-40cd61ca7d5f9d32931b3a2313aef65e13c950b6.zip
More refactoring of cbits.h + minor changes in examples/benchmark.
Diffstat (limited to 'examples')
-rw-r--r--examples/mapmap.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/examples/mapmap.c b/examples/mapmap.c
index b3360d1e..2d681d23 100644
--- a/examples/mapmap.c
+++ b/examples/mapmap.c
@@ -24,15 +24,13 @@ void add(Departments* deps, const char* name, const char* email, const char* dep
People_emplace_or_assign(people, name, email);
}
-Stack contains(Departments* map, const char* name)
+int contains(Departments* map, const char* name)
{
- Stack stk = Stack_init();
- const People_value* v;
+ int count = 0;
c_foreach (i, Departments, *map)
- if ((v = People_get(&i.ref->second, name))) {
- Stack_push(&stk, People_value_clone(*v));
- }
- return stk;
+ if (People_contains(&i.ref->second, name))
+ ++count;
+ return count;
}
int main(void)
@@ -58,10 +56,10 @@ int main(void)
printf("%s: %s - %s\n", i.ref->first.str, _.name.str, _.email.str);
puts("");
- c_auto (Stack, s) printf("found: %" PRIuMAX "\n", Stack_size(s = contains(&map, "Nick Denton")));
- c_auto (Stack, s) printf("found: %" PRIuMAX "\n", Stack_size(s = contains(&map, "Patrick Dust")));
- c_auto (Stack, s) printf("found: %" PRIuMAX "\n", Stack_size(s = contains(&map, "Dennis Kay")));
- c_auto (Stack, s) printf("found: %" PRIuMAX "\n", Stack_size(s = contains(&map, "Serena Bath")));
+ printf("found: %d\n", contains(&map, "Nick Denton"));
+ printf("found: %d\n", contains(&map, "Patrick Dust"));
+ printf("found: %d\n", contains(&map, "Dennis Kay"));
+ printf("found: %d\n", contains(&map, "Serena Bath"));
puts("Done");
}
}