From e9d7e2523c35a64d2b172a20495118c4f40f8512 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Wed, 19 Mar 2008 21:48:29 -0500 Subject: [PATCH] Clean up random and fix circular --- core/bootstrap/stage2.factor | 2 +- extra/bootstrap/random/random.factor | 3 ++- extra/circular/circular-tests.factor | 6 ++++-- extra/circular/circular.factor | 4 ++-- extra/random/mersenne-twister/mersenne-twister-tests.factor | 5 ++--- extra/random/mersenne-twister/mersenne-twister.factor | 5 ++--- 6 files changed, 13 insertions(+), 12 deletions(-) mode change 100644 => 100755 extra/circular/circular-tests.factor mode change 100644 => 100755 extra/circular/circular.factor mode change 100644 => 100755 extra/random/mersenne-twister/mersenne-twister-tests.factor diff --git a/core/bootstrap/stage2.factor b/core/bootstrap/stage2.factor index 2aeb3099ac..2523841aaf 100755 --- a/core/bootstrap/stage2.factor +++ b/core/bootstrap/stage2.factor @@ -57,7 +57,7 @@ millis >r default-image-name "output-image" set-global -"math help handbook compiler tools ui ui.tools io" "include" set-global +"math help handbook compiler random tools ui ui.tools io" "include" set-global "" "exclude" set-global parse-command-line diff --git a/extra/bootstrap/random/random.factor b/extra/bootstrap/random/random.factor index c4dc5dc660..b61e002526 100755 --- a/extra/bootstrap/random/random.factor +++ b/extra/bootstrap/random/random.factor @@ -1,5 +1,6 @@ USING: vocabs.loader sequences system -random random.mersenne-twister ; +random random.mersenne-twister combinators init +namespaces ; "random.mersenne-twister" require diff --git a/extra/circular/circular-tests.factor b/extra/circular/circular-tests.factor old mode 100644 new mode 100755 index 8ca4574885..9023ab1dba --- a/extra/circular/circular-tests.factor +++ b/extra/circular/circular-tests.factor @@ -9,7 +9,6 @@ circular strings ; [ CHAR: t ] [ "test" 0 swap nth ] unit-test [ "test" ] [ "test" >string ] unit-test -[ "test" 5 swap nth ] must-fail [ CHAR: e ] [ "test" 5 swap nth-unsafe ] unit-test [ [ 1 2 3 ] ] [ { 1 2 3 } [ ] like ] unit-test @@ -18,10 +17,13 @@ circular strings ; [ [ 3 1 2 ] ] [ { 1 2 3 } -100 over change-circular-start [ ] like ] unit-test [ "fob" ] [ "foo" CHAR: b 2 pick set-nth >string ] unit-test -[ "foo" CHAR: b 3 rot set-nth ] must-fail [ "boo" ] [ "foo" CHAR: b 3 pick set-nth-unsafe >string ] unit-test [ "ornact" ] [ "factor" 4 over change-circular-start CHAR: n 2 pick set-nth >string ] unit-test [ "bcd" ] [ 3 "abcd" [ over push-circular ] each >string ] unit-test [ { 0 0 } ] [ { 0 0 } -1 over change-circular-start >array ] unit-test + +! This no longer fails +! [ "test" 5 swap nth ] must-fail +! [ "foo" CHAR: b 3 rot set-nth ] must-fail diff --git a/extra/circular/circular.factor b/extra/circular/circular.factor old mode 100644 new mode 100755 index 8760e26586..08deb004e8 --- a/extra/circular/circular.factor +++ b/extra/circular/circular.factor @@ -18,9 +18,9 @@ M: circular length circular-seq length ; M: circular virtual@ circular-wrap circular-seq ; -M: circular nth bounds-check virtual@ nth ; +M: circular nth virtual@ nth ; -M: circular set-nth bounds-check virtual@ set-nth ; +M: circular set-nth virtual@ set-nth ; : change-circular-start ( n circular -- ) #! change start to (start + n) mod length diff --git a/extra/random/mersenne-twister/mersenne-twister-tests.factor b/extra/random/mersenne-twister/mersenne-twister-tests.factor old mode 100644 new mode 100755 index afd9d085b6..49bf4ad3f3 --- a/extra/random/mersenne-twister/mersenne-twister-tests.factor +++ b/extra/random/mersenne-twister/mersenne-twister-tests.factor @@ -1,7 +1,6 @@ USING: kernel math random namespaces random.mersenne-twister sequences tools.test ; IN: random.mersenne-twister.tests -USE: tools.walker : check-random ( max -- ? ) dup >r random 0 r> between? ; @@ -17,11 +16,11 @@ USE: tools.walker [ f ] [ 1234 [ make-100-randoms make-100-randoms = ] test-rng ] unit-test [ 1333075495 ] [ - 0 [ 1000 [ drop \ random get random-32 drop ] each \ random get random-32 ] test-rng + 0 [ 1000 [ drop random-generator get random-32 drop ] each random-generator get random-32 ] test-rng ] unit-test [ 1575309035 ] [ - 0 [ 10000 [ drop \ random get random-32 drop ] each \ random get random-32 ] test-rng + 0 [ 10000 [ drop random-generator get random-32 drop ] each random-generator get random-32 ] test-rng ] unit-test diff --git a/extra/random/mersenne-twister/mersenne-twister.factor b/extra/random/mersenne-twister/mersenne-twister.factor index c4e7cb2f7b..73f241a370 100755 --- a/extra/random/mersenne-twister/mersenne-twister.factor +++ b/extra/random/mersenne-twister/mersenne-twister.factor @@ -3,9 +3,8 @@ ! mersenne twister based on ! http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c -USING: arrays kernel math namespaces sequences -system init new-slots accessors -math.ranges combinators.cleave circular random ; +USING: arrays kernel math namespaces sequences system init +new-slots accessors math.ranges combinators.cleave random ; IN: random.mersenne-twister