/*
* Simple random number generator for testing.
- * Copyright © 2022-2023 Nick Bowler
+ * Copyright © 2022-2024 Nick Bowler
*
* Directly compare the test lib RNG against the reference implementation.
*
tap_skip_all("cannot compile reference xoshiro256+");
}
#else
+#define TEST_RNG_NO_EXTERNAL_API 1
#include "rng.c"
#include "xos256p.c"
int main(void)
{
- unsigned long long seed_state = 0xdeadbeeff00dcafe;
unsigned long long test_result, ref_result;
unsigned long long ref_state[4], test_state[4];
+ uint_least32_t seed_state = 0xdeadbeef;
int i, ret = 0;
tap_plan(200);
for (i = 0; i < 100; i++) {
- s[0] = ref_state[0] = test_state[0] = splitmix64(&seed_state);
- s[1] = ref_state[1] = test_state[1] = splitmix64(&seed_state);
- s[2] = ref_state[2] = test_state[2] = splitmix64(&seed_state);
- s[3] = ref_state[3] = test_state[3] = splitmix64(&seed_state);
+ s[0] = ref_state[0] = test_state[0] = seed64(&seed_state);
+ s[1] = ref_state[1] = test_state[1] = seed64(&seed_state);
+ s[2] = ref_state[2] = test_state[2] = seed64(&seed_state);
+ s[3] = ref_state[3] = test_state[3] = seed64(&seed_state);
ref_result = next();
test_result = xoshiro256p(test_state);