From 54e135b6453fed2cd210bd9b738eb69fdde93a88 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Fri, 24 Jul 2020 13:07:33 +0200 Subject: Added __init variables; Fixed prime.c and list.c examples. --- examples/list.c | 11 +++++++---- examples/prime.c | 16 ++++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) (limited to 'examples') diff --git a/examples/list.c b/examples/list.c index 81569260..53b8711f 100644 --- a/examples/list.c +++ b/examples/list.c @@ -5,10 +5,7 @@ declare_CList(ix, uint64_t); int main() { - CList_ix list = clist_ix_from((uint64_t[]) {10, 20, 30, 40}, 4); - c_foreach (i, clist_ix, list) printf("%zu ", i.item->value); - puts(""); - + CList_ix list = clist_init; crandom32_t pcg = crandom32_init(time(NULL)); int n; for (int i=0; i<10000000; ++i) // ten million @@ -22,5 +19,11 @@ int main() { puts("sorted"); c_foreach (i, clist_ix, list) if (n--) printf("%8d: %10zu\n", 100 - n, i.item->value); else break; + + clist_ix_clear(&list); + c_push(&list, clist_ix, c_items(10, 20, 30, 40, 50)); + c_foreach (i, clist_ix, list) printf("%zu ", i.item->value); + puts(""); + clist_ix_destroy(&list); } \ No newline at end of file diff --git a/examples/prime.c b/examples/prime.c index 803c772a..04f37e9a 100644 --- a/examples/prime.c +++ b/examples/prime.c @@ -3,20 +3,20 @@ #include #include #include -#include +#include static inline void sieveOfEratosthenes(size_t n) { - CBitVec prime = cbitvec_make(n + 1, true); + CBitset prime = cbitset_make(n + 1, true); printf("computing primes up to %zu\n", n); - cbitvec_unset(&prime, 0); - cbitvec_unset(&prime, 1); + cbitset_reset(&prime, 0); + cbitset_reset(&prime, 1); for (size_t i = 2; i <= n; ++i) { // If prime[i] is not changed, then it is a prime - if (cbitvec_value(&prime, i) && i*i <= n) { + if (cbitset_test(prime, i) && i*i <= n) { for (size_t j = i*i; j <= n; j += i) { - cbitvec_unset(&prime, j); + cbitset_reset(&prime, j); } } } @@ -24,10 +24,10 @@ static inline void sieveOfEratosthenes(size_t n) // Print all prime numbers size_t count = 0; for (size_t i = 1; i <= n; ++i) - if (cbitvec_value(&prime, i)) ++count; // printf("%zu\n", i); + if (cbitset_test(prime, i)) ++count; // printf("%zu\n", i); printf("number of primes: %zu\n", count); - cbitvec_destroy(&prime); + cbitset_destroy(&prime); } int main(void) -- cgit v1.2.3