From dba8a3ba10c93ff030c948ef3fa896693fa36f17 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Fri, 7 Aug 2020 22:18:53 +0200 Subject: Rngtest --- examples/rngtest.c | 25 +++++++++++++++---------- stc/crandom.h | 3 +-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/examples/rngtest.c b/examples/rngtest.c index 66e5f0c8..657e002d 100644 --- a/examples/rngtest.c +++ b/examples/rngtest.c @@ -6,7 +6,7 @@ #endif -#define NN 1000000000 +#define NN 3000000000 int main(void) { @@ -14,16 +14,21 @@ int main(void) uint64_t v; crandom_eng64_t sfc = crandom_eng64_init(time(NULL)); - crandom_distrib_i64_t d10 = crandom_uniform_i64_init(10, 20); - - for (int i=0; i<30; ++i) printf("%02zd ", crandom_uniform_i64(&sfc, d10)); + crandom_distrib_i32_t i32dist = crandom_uniform_i32_init(10, 20); + crandom_distrib_f32_t f32dist = crandom_uniform_f32_init(10, 20); + + crandom_distrib_i64_t idist = crandom_uniform_i64_init(10, 20); + crandom_distrib_f64_t fdist = crandom_uniform_f64_init(10, 20); + + for (int i=0; i<30; ++i) printf("%02zd ", crandom_uniform_i64(&sfc, idist)); puts(""); crandom_eng32_t pcg = crandom_eng32_init(time(NULL)); before = clock(); \ v = 0; for (size_t i=0; i> 1, dist.range << 1, &hi); return dist.offset + hi; #else - return dist.offset + (((uint32_t) crandom_i64(rng) * dist.range) >> 32); // range up to 2^32 - //return dist.offset + crandom_i64(rng) % dist.range; // slow + return dist.offset + crandom_i64(rng) % dist.range; // slower #endif } -- cgit v1.2.3