From 21e158606061246c7fcabb07b18bc5bc2f001054 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 7 Oct 2020 01:21:08 -0700 Subject: random: bugfix: incorrect WELL512a. * rand.c (rand32_bug): New static function formed by renaming the original buggy rand32. (rand32_good): Copy of rand32 with two bugfixes. The term involving variable r2 must be only left shifted by 28 bits, and not xor-ed with the original value. The order of operations is wrong in the term that contains the & operation. (rand32): New static function pointer variable, serving as the rand32 function. Points to rand32_good by default. (rand_compat_fixup): Test for 243 or lower compatibility, under which rand32 is made point to rand32_bug. This is done before the call to make_random_state for replacing *random-state*, which has to use the old function. * txr.1: compat note added. * tests/013/maze.expected: Updated. --- tests/013/maze.expected | 118 ++++++++++++++++++++++++------------------------ 1 file changed, 59 insertions(+), 59 deletions(-) (limited to 'tests') diff --git a/tests/013/maze.expected b/tests/013/maze.expected index b9c26ae0..8cf588e4 100644 --- a/tests/013/maze.expected +++ b/tests/013/maze.expected @@ -1,61 +1,61 @@ + +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ -| | | | | | | | | -| | | | | | | | | -+----+ + +----+ + + + + + +----+----+ + +----+----+ +----+ + + -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -+ +----+ +----+----+----+ +----+----+ + + + + + + + + +----+ + -| | | | | | | | | -| | | | | | | | | -+----+----+----+----+----+ +----+ +----+----+----+ +----+ + +----+----+----+ +----+ -| | | | | | | | | | -| | | | | | | | | | -+ + +----+----+----+----+ +----+----+ + +----+ + + +----+----+ +----+ + -| | | | | | | | | | | | | -| | | | | | | | | | | | | -+ + + + +----+ + + + + + + +----+----+ +----+ + +----+----+ -| | | | | | | | | | | | | -| | | | | | | | | | | | | -+----+----+ +----+ + + +----+----+----+ +----+----+ +----+ +----+----+ + + -| | | | | | | | | | -| | | | | | | | | | -+ +----+----+ +----+ +----+ +----+ +----+ +----+----+ + + +----+----+ + -| | | | | | | | | | | | | -| | | | | | | | | | | | | -+----+ + +----+ + + +----+ +----+ +----+ + +----+ + +----+ + + -| | | | | | | | | | | | -| | | | | | | | | | | | -+ +----+----+ + + +----+ + + +----+ +----+----+ +----+----+----+----+ + -| | | | | | | | | | | -| | | | | | | | | | | -+----+----+ +----+----+----+ + + + + + +----+ +----+ + + + +----+ -| | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | -+ + + + + +----+----+ + + + +----+ +----+----+----+----+ + + + -| | | | | | | | | | | | -| | | | | | | | | | | | -+----+ + + +----+----+ + +----+----+----+ +----+----+ +----+----+ +----+ + -| | | | | | | | | | | | | -| | | | | | | | | | | | | -+ +----+ + +----+ + + +----+ + + + + +----+ + +----+ + + -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -+ +----+----+ + +----+ + + +----+ +----+----+ +----+ + + +----+ + -| | | | | | | | | | | | -| | | | | | | | | | | | -+----+ + + +----+ +----+----+ +----+----+----+----+----+ + + +----+----+ + -| | | | | | | | | | -| | | | | | | | | | -+ + +----+----+ +----+ + +----+ +----+----+ + + + +----+ + + + -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -+ + +----+----+----+ + +----+ +----+----+ + + + +----+----+----+ + + -| | | | | | | | | | | | -| | | | | | | | | | | | -+ +----+ + + +----+----+----+ +----+----+ + +----+----+ + + + +----+ -| | | | | | | | | | | | | -| | | | | | | | | | | | | -+ +----+----+ +----+ +----+----+ + + +----+----+ + +----+ + +----+ + -| | | | | | -| | | | | | +| | | | | | | | +| | | | | | | | ++ +----+----+ + +----+ + +----+ +----+----+ +----+ +----+----+ +----+ + +| | | | | | | | | | | +| | | | | | | | | | | ++ + +----+----+----+ +----+----+ +----+ + +----+----+----+ +----+----+ + + +| | | | | | | | | | | +| | | | | | | | | | | ++ +----+ + +----+ + +----+----+----+----+ + + + +----+ + +----+ + +| | | | | | | | | | +| | | | | | | | | | ++----+----+----+----+ + +----+ +----+ +----+----+ + +----+ + +----+----+ + +| | | | | | | | | | | +| | | | | | | | | | | ++ + + +----+----+ + +----+ + +----+ + +----+ +----+ +----+----+ + +| | | | | | | | | | | | +| | | | | | | | | | | | ++----+ +----+ +----+----+ +----+----+ + +----+ +----+----+----+----+----+ +----+ +| | | | | | | | | +| | | | | | | | | ++ +----+ +----+ + + +----+ + +----+----+----+----+ +----+ +----+ +----+ +| | | | | | | | | | | | | +| | | | | | | | | | | | | ++ + +----+ + + +----+----+ +----+ + +----+ + + +----+----+----+ + +| | | | | | | | | | | | +| | | | | | | | | | | | ++ + +----+----+ + +----+----+----+ + + + +----+ +----+ + +----+ + +| | | | | | | | | | | | +| | | | | | | | | | | | ++ +----+----+----+ + +----+ +----+ + + + +----+----+ + + +----+----+ +| | | | | | | | | | | | | +| | | | | | | | | | | | | ++ + + + + +----+----+----+ + +----+ +----+ + +----+ +----+----+ + +| | | | | | | | | | | | +| | | | | | | | | | | | ++ +----+ +----+----+ + +----+----+ + + + +----+ + +----+ +----+ + +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | ++----+ +----+ + + +----+----+ +----+ + + + + + + + + + + +| | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | ++ +----+ +----+ +----+ + +----+ + + + + + + + + + +----+ +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | ++ + +----+ +----+ +----+ + +----+----+----+----+ + +----+ + +----+ + +| | | | | | | | | | | | +| | | | | | | | | | | | ++ + + +----+ + + + + +----+----+----+----+----+----+ + +----+----+ + +| | | | | | | | | | +| | | | | | | | | | ++----+----+ + +----+----+ + +----+----+----+----+----+ + +----+----+ + +----+ +| | | | | | | | | | | +| | | | | | | | | | | ++ +----+ + +----+----+----+ + +----+ + + + +----+ + +----+----+ + +| | | | | | | | | | | | | +| | | | | | | | | | | | | ++ +----+----+----+ + + +----+ +----+----+ +----+ + +----+ + + + + +| | | | | | | +| | | | | | | +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ + -- cgit v1.2.3