diff options
author | Mitya Selivanov <automainint@guattari.tech> | 2023-09-02 20:59:29 +0200 |
---|---|---|
committer | Mitya Selivanov <automainint@guattari.tech> | 2023-09-02 20:59:29 +0200 |
commit | 835e1fcd131c63ee2b3b647e327b33a3bfb369e3 (patch) | |
tree | 9d6fb42d6296a7bbec4a6ea58358c0fdb5de7e05 /source/tests/mersenne_twister_64.test.c | |
parent | 34ba87d8c8cfef5ed249b34bd2d2b7e41a34d2f7 (diff) | |
download | kit-835e1fcd131c63ee2b3b647e327b33a3bfb369e3.zip |
[Linux] Change build system; Remove CMake
Diffstat (limited to 'source/tests/mersenne_twister_64.test.c')
-rw-r--r-- | source/tests/mersenne_twister_64.test.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/tests/mersenne_twister_64.test.c b/source/tests/mersenne_twister_64.test.c new file mode 100644 index 0000000..6bf5b9c --- /dev/null +++ b/source/tests/mersenne_twister_64.test.c @@ -0,0 +1,38 @@ +#include "../kit/mersenne_twister_64.h" +#include "../kit/secure_random.h" + +#define KIT_TEST_FILE mersenne_twister_64 +#include "../kit_test/test.h" + +enum { SIZE = 1000 }; + +TEST("mt64 same seeds") { + ptrdiff_t i; + uint64_t seed; + secure_random(sizeof seed, &seed); + + mt64_state_t foo, bar; + mt64_init(&foo, seed); + mt64_init(&bar, seed); + + int ok = 1; + for (i = 0; i < SIZE; i++) + ok = ok && mt64_generate(&foo) == mt64_generate(&bar); + + REQUIRE(ok); +} + +TEST("mt64 different seeds") { + ptrdiff_t i; + + mt64_state_t foo, bar; + mt64_init(&foo, 42); + mt64_init(&bar, 4242424242); + + ptrdiff_t difference_count = 0; + for (i = 0; i < SIZE; i++) + if (mt64_generate(&foo) != mt64_generate(&bar)) + difference_count++; + + REQUIRE(difference_count > SIZE / 2); +} |