From 380759e3d91a1d6517a2025452df594a47e25a68 Mon Sep 17 00:00:00 2001 From: Raymond Toy <toy.raymond@gmail.com> Date: Sat, 27 Jan 2018 21:59:25 -0800 Subject: [PATCH] Restore ability to compile in mt19937 rng. - src/tools/worldbuild.lisp - only compile rand-xoroshiro if :random-xoroshiro is a feature - src/tools/worldload.lisp - only load rand-xoroshiro if :random-xoroshiro is a feature - tests/rng.lisp - Add a quick test that the state vector of the *random-state* has the correct type. --- src/tools/worldbuild.lisp | 1 - src/tools/worldload.lisp | 1 - tests/rng.lisp | 9 +++++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/tools/worldbuild.lisp b/src/tools/worldbuild.lisp index cb2b6353a..7dd0381cb 100644 --- a/src/tools/worldbuild.lisp +++ b/src/tools/worldbuild.lisp @@ -127,7 +127,6 @@ '("target:code/rand-xoroshiro")) (t '("target:code/rand"))) - "target:code/rand-xoroshiro" "target:code/alieneval" "target:code/c-call" "target:code/sap" diff --git a/src/tools/worldload.lisp b/src/tools/worldload.lisp index 16365e787..f1064df35 100644 --- a/src/tools/worldload.lisp +++ b/src/tools/worldload.lisp @@ -102,7 +102,6 @@ (maybe-byte-load "code:rand-xoroshiro") #-(or random-mt19937 random-xoroshiro) (maybe-byte-load "code:rand") -(maybe-byte-load "code:rand-xoroshiro") (maybe-byte-load "target:pcl/walk") (maybe-byte-load "code:fwrappers") (maybe-byte-load "code:ntrace") diff --git a/tests/rng.lisp b/tests/rng.lisp index 1b5dcbcaf..a02285a7a 100644 --- a/tests/rng.lisp +++ b/tests/rng.lisp @@ -20,6 +20,13 @@ (defvar *test-state*) +(define-test rng.state + (let ((s (kernel::random-state-state *random-state*))) + #+random-xoroshiro + (assert-true (typep s '(simple-array double-float (2)))) + #+random-mt19937 + (assert-true (typep s '(simple-array (unsigned-byte 32) (627)))))) + #+random-xoroshiro (define-test rng.initial-state (setf *test-state* @@ -56,6 +63,7 @@ (assert-equal value (64-bit-value *test-state*)) (assert-equal state (multiple-value-list (64-bit-rng-state *test-state*)))))) +#+random-xoroshiro (define-test rng.jump (setf *test-state* (kernel::make-random-object :state (kernel::init-random-state #x12345678) @@ -68,3 +76,4 @@ (kernel:random-state-jump *test-state*) (assert-equal result (multiple-value-list (64-bit-rng-state *test-state*))))) + -- GitLab