22 lines
547 B
Factor
22 lines
547 B
Factor
|
! Copyright (C) 2010 Doug Coleman.
|
||
|
! See http://factorcode.org/license.txt for BSD license.
|
||
|
USING: destructors io kernel random sequences ;
|
||
|
IN: io.streams.random
|
||
|
|
||
|
TUPLE: random-stream ;
|
||
|
|
||
|
C: <random-stream> random-stream
|
||
|
|
||
|
M: random-stream stream-element-type drop +byte+ ;
|
||
|
|
||
|
M: random-stream stream-read-unsafe
|
||
|
drop [ dup random-bytes ] [ 0 swap copy ] bi* ;
|
||
|
|
||
|
M: random-stream stream-read1 drop 256 random ;
|
||
|
|
||
|
M: random-stream stream-read-partial-unsafe stream-read-unsafe ;
|
||
|
|
||
|
M: random-stream dispose drop ;
|
||
|
|
||
|
INSTANCE: random-stream input-stream
|