diff --git a/extra/random/random-docs.factor b/extra/random/random-docs.factor index 811b86496c..1d8334ab31 100644 --- a/extra/random/random-docs.factor +++ b/extra/random/random-docs.factor @@ -21,3 +21,11 @@ HELP: random { $values { "seq" "a sequence" } { "elt" "a random element" } } { $description "Outputs a random element of the sequence. If the sequence is empty, always outputs " { $link f } "." } { $notes "Since integers are sequences, passing an integer " { $snippet "n" } " yields a random integer in the interval " { $snippet "[0,n)" } "." } ; + +HELP: big-random +{ $values { "n" "an integer" } { "r" "a random integer" } } +{ $description "Outputs an integer with n bytes worth of bits." } ; + +HELP: random-256 +{ $values { "r" "a random integer" } } +{ $description "Outputs an random integer 256 bits in length." } ; diff --git a/extra/random/random.factor b/extra/random/random.factor index 45ce99bcea..ff4487dd27 100755 --- a/extra/random/random.factor +++ b/extra/random/random.factor @@ -93,6 +93,8 @@ PRIVATE> : big-random ( n -- r ) [ drop (random) ] map >c-uint-array byte-array>bignum ; +: random-256 ( -- r ) 8 big-random ; inline + : random ( seq -- elt ) dup empty? [ drop f