summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2020-09-20 07:54:04 +0200
committerTyge Løvset <[email protected]>2020-09-20 07:54:04 +0200
commita9881058fbe47a90d4614f9fb5d693633dbdc7af (patch)
treeb49db605aed741b43a1cd6ef7c369fcee59e24ad /examples
parent240c4d27067fb6dd04b3964dcfd46342ee1a2de3 (diff)
downloadSTC-modified-a9881058fbe47a90d4614f9fb5d693633dbdc7af.tar.gz
STC-modified-a9881058fbe47a90d4614f9fb5d693633dbdc7af.zip
Added c_foreach (i,N) and c_foreach (N), and updated README.md
Diffstat (limited to 'examples')
-rw-r--r--examples/birthday.c4
-rw-r--r--examples/priority.c6
-rw-r--r--examples/random.c8
-rw-r--r--examples/rngtest.c12
4 files changed, 15 insertions, 15 deletions
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