From 50793e214c05ff77636addb319ccf0de864713e4 Mon Sep 17 00:00:00 2001 From: sanine Date: Fri, 24 Oct 2025 12:07:38 -0500 Subject: implement xorshift --- lichen.test.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lichen.test.c (limited to 'lichen.test.c') diff --git a/lichen.test.c b/lichen.test.c new file mode 100644 index 0000000..77ff067 --- /dev/null +++ b/lichen.test.c @@ -0,0 +1,36 @@ +#define LILY_IMPLEMENTATION +#include "lichen.h" +#include "lily-test.h" + + +LILY_FILE_BEGIN(lichen_suite) + +LILY_TEST("xorshift output") { + struct li_xorshift32_t xor; + li_xorshift32_seed(&xor, 0); + CHECK_EQ(xor.generator.state, &(xor.state), "%p"); + CHECK_NEQ(xor.state, 0, "%d"); + uint16_t start = xor.state; + INFO("%p, %p", &(xor.state), xor.generator.state); + INFO("%d", xor.generator.rand(xor.generator.state)); + INFO("%d, %d", xor.state, *((uint64_t*)xor.generator.state)); + INFO("%d", xor.generator.rand(xor.generator.state)); + INFO("%d, %d", xor.state, *((uint64_t*)xor.generator.state)); + INFO("%d", xor.generator.rand(xor.generator.state)); + INFO("%d, %d", xor.state, *((uint64_t*)xor.generator.state)); + INFO("%d", xor.generator.rand(xor.generator.state)); + INFO("%d, %d", xor.state, *((uint64_t*)xor.generator.state)); + REQUIRE_NEQ(xor.state, start, "%d"); +} +#include LILY_PUSH_TEST() + +#define LILY_FILE_END +#include LILY_REGISTER_TESTS() + + +int main() { + lily_begin(); + lichen_suite(); + lily_finish(); + return 0; +} -- cgit v1.2.1