diff options
| author | sanine <sanine.not@pm.me> | 2025-10-24 12:07:38 -0500 | 
|---|---|---|
| committer | sanine <sanine.not@pm.me> | 2025-10-24 12:07:38 -0500 | 
| commit | 50793e214c05ff77636addb319ccf0de864713e4 (patch) | |
| tree | 21e6642ded86528b54fc530f9a5ec337a5900dcb /lichen.test.c | |
| parent | 6547ddfe210f06ab584a6781a06b9c844b6eaf7c (diff) | |
implement xorshift
Diffstat (limited to 'lichen.test.c')
| -rw-r--r-- | lichen.test.c | 36 | 
1 files changed, 36 insertions, 0 deletions
| 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; +} | 
