move random-bits* to random, work on docs
parent
aae9b78219
commit
02ddb8005d
|
@ -40,9 +40,17 @@ HELP: random-bytes
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
HELP: random-bits
|
HELP: random-bits
|
||||||
{ $values { "n" "an integer" } { "r" "a random integer" } }
|
{ $values { "numbits" integer } { "r" "a random integer" } }
|
||||||
{ $description "Outputs an random integer n bits in length." } ;
|
{ $description "Outputs an random integer n bits in length." } ;
|
||||||
|
|
||||||
|
HELP: random-bits*
|
||||||
|
{ $values
|
||||||
|
{ "numbits" integer }
|
||||||
|
{ "n" integer }
|
||||||
|
}
|
||||||
|
{ $description "Returns an integer exactly " { $snippet "numbits" } " in length, with the topmost bit set to one." } ;
|
||||||
|
|
||||||
|
|
||||||
HELP: with-random
|
HELP: with-random
|
||||||
{ $values { "tuple" "a random generator" } { "quot" "a quotation" } }
|
{ $values { "tuple" "a random generator" } { "quot" "a quotation" } }
|
||||||
{ $description "Calls the quotation with the random generator in a dynamic variable. All random numbers will be generated using this random generator." } ;
|
{ $description "Calls the quotation with the random generator in a dynamic variable. All random numbers will be generated using this random generator." } ;
|
||||||
|
@ -93,6 +101,9 @@ $nl
|
||||||
"Randomizing a sequence:"
|
"Randomizing a sequence:"
|
||||||
{ $subsection randomize }
|
{ $subsection randomize }
|
||||||
"Deleting a random element from a sequence:"
|
"Deleting a random element from a sequence:"
|
||||||
{ $subsection delete-random } ;
|
{ $subsection delete-random }
|
||||||
|
"Random numbers with " { $snippet "n" } " bits:"
|
||||||
|
{ $subsection random-bits }
|
||||||
|
{ $subsection random-bits* } ;
|
||||||
|
|
||||||
ABOUT: "random"
|
ABOUT: "random"
|
||||||
|
|
|
@ -23,3 +23,5 @@ IN: random.tests
|
||||||
|
|
||||||
[ f ]
|
[ f ]
|
||||||
[ 100 [ { 0 1 } random ] replicate all-equal? ] unit-test
|
[ 100 [ { 0 1 } random ] replicate all-equal? ] unit-test
|
||||||
|
|
||||||
|
[ 49 ] [ 50 random-bits* log2 ] unit-test
|
||||||
|
|
|
@ -45,7 +45,10 @@ M: f random-32* ( obj -- * ) no-random-number-generator ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
: random-bits ( n -- r ) 2^ random-integer ;
|
: random-bits ( numbits -- r ) 2^ random-integer ;
|
||||||
|
|
||||||
|
: random-bits* ( numbits -- n )
|
||||||
|
1 - [ random-bits ] keep set-bit ;
|
||||||
|
|
||||||
: random ( seq -- elt )
|
: random ( seq -- elt )
|
||||||
[ f ] [
|
[ f ] [
|
||||||
|
|
Loading…
Reference in New Issue