From a9881058fbe47a90d4614f9fb5d693633dbdc7af Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Sun, 20 Sep 2020 07:54:04 +0200 Subject: Added c_foreach (i,N) and c_foreach (N), and updated README.md --- examples/birthday.c | 4 ++-- examples/priority.c | 6 +++--- examples/random.c | 8 ++++---- examples/rngtest.c | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-) (limited to 'examples') diff --git a/examples/birthday.c b/examples/birthday.c index a5cce918..fae36430 100644 --- a/examples/birthday.c +++ b/examples/birthday.c @@ -19,7 +19,7 @@ void repeats(void) cmap_ic m = cmap_INIT; cmap_ic_reserve(&m, N); clock_t now = clock(); - c_forrange (i, size_t, N) { + c_forrange (i, N) { uint64_t k = crand_i64(&rng) & mask; int v = ++cmap_ic_emplace(&m, k, 0).first->second; if (v > 1) printf("%zu: %llx - %d\n", i, k, v); @@ -40,7 +40,7 @@ void distribution(void) clock_t now = clock(); crand_uniform_i32_t dist = crand_uniform_i32_init(0, M); - c_forrange (i, size_t, N) { + c_forrange (N) { ++cmap_x_emplace(&map, crand_uniform_i32(&rng, &dist), 0).first->second; } float diff = (float) (clock() - now) / CLOCKS_PER_SEC; diff --git a/examples/priority.c b/examples/priority.c index bce14f49..e4a20da9 100644 --- a/examples/priority.c +++ b/examples/priority.c @@ -16,18 +16,18 @@ int main() { cpqueue_i heap = cpqueue_i_init(); // Push ten million random numbers to priority queue - c_forrange (i, int, N) + c_forrange (N) cpqueue_i_push(&heap, crand_uniform_i64(&pcg, &dist)); // push some negative numbers too. c_push_items(&heap, cpqueue_i, {-231, -32, -873, -4, -343}); - c_forrange (i, int, N) + c_forrange (N) cpqueue_i_push(&heap, crand_uniform_i64(&pcg, &dist)); // Extract the hundred smallest. - c_forrange (i, int, 100) { + c_forrange (100) { printf("%zd ", *cpqueue_i_top(&heap)); cpqueue_i_pop(&heap); } diff --git a/examples/random.c b/examples/random.c index 44465ce7..fa63d2af 100644 --- a/examples/random.c +++ b/examples/random.c @@ -18,7 +18,7 @@ int main() printf("32 uniform: %u\n", dist0.range); double fsum = 0; before = clock(); - c_forrange (i, size_t, N) { + c_forrange (N) { fsum += (double) crand_uniform_i32(&pcg, &dist0) / dist0.range; } difference = clock() - before; @@ -29,7 +29,7 @@ int main() puts("32 unbiased"); fsum = 0; before = clock(); - c_forrange (i, size_t, N) { + c_forrange (N) { fsum += (double) crand_unbiased_i32(&pcg, &dist0) / dist0.range; } difference = clock() - before; @@ -40,7 +40,7 @@ int main() crand_uniform_i64_t dist1 = crand_uniform_i64_init(0, N); sum = 0; before = clock(); - c_forrange (i, size_t, N) { + c_forrange (N) { sum += crand_uniform_i64(&stc, &dist1); } difference = clock() - before; @@ -52,7 +52,7 @@ int main() size_t N2 = 10000000; int hist[R] = {0}; sum = 0; - c_forrange (i, size_t, N2) { + c_forrange (N2) { int n = (int) (crand_normal_f64(&stc, &dist2) + 0.5); sum += n; if (n >= 0 && n < R) ++hist[n]; diff --git a/examples/rngtest.c b/examples/rngtest.c index 16360eac..df3aa41c 100644 --- a/examples/rngtest.c +++ b/examples/rngtest.c @@ -17,7 +17,7 @@ int main(void) crand_uniform_i64_t idist = crand_uniform_i64_init(10, 20); crand_uniform_f64_t fdist = crand_uniform_f64_init(10, 20); - c_forrange (i, int, 30) printf("%02zd ", crand_uniform_i64(&stc, &idist)); + c_forrange (30) printf("%02zd ", crand_uniform_i64(&stc, &idist)); puts(""); crand_rng32_t pcg = crand_rng32_init(time(NULL)); @@ -26,7 +26,7 @@ int main(void) before = clock(); \ v = 0; - c_forrange (i, size_t, NN) { + c_forrange (NN) { //v += crand_i32(&pcg); v += crand_uniform_i32(&pcg, &i32dist); } @@ -35,20 +35,20 @@ int main(void) before = clock(); \ v = 0; - c_forrange (i, size_t, NN) { + c_forrange (NN) { //v += crand_i64(&stc) & 0xffffffff; v += crand_uniform_i64(&stc, &idist); } difference = clock() - before; printf("stc64: %.02f, %zu\n", (float) difference / CLOCKS_PER_SEC, v); - c_forrange (i, int, 8) printf("%d ", crand_uniform_i32(&pcg, &i32dist)); + c_forrange (8) printf("%d ", crand_uniform_i32(&pcg, &i32dist)); puts(""); - c_forrange (i, int, 8) printf("%f ", crand_uniform_f32(&pcg, &f32dist)); + c_forrange (8) printf("%f ", crand_uniform_f32(&pcg, &f32dist)); puts(""); - c_forrange (i, int, 8) printf("%f ", crand_uniform_f64(&stc, &fdist)); + c_forrange (8) printf("%f ", crand_uniform_f64(&stc, &fdist)); puts(""); } \ No newline at end of file -- cgit v1.2.3