retroforth/interface/rng.retro
crc 360386fb3b i/o interfaces: add a few comments to the random number generator
FossilOrigin-Name: 90e90f4770c1132336fea6dbfa1b4f2e82aed69202a1ebba033af2e15bb36184
2020-09-18 16:18:03 +00:00

20 lines
458 B
Text

# Random Number Generator
I/O device type 10 is a random number generator. I do this as
part of the VM I/O extensions to allow implementors to use the
best approach on their host system.
~~~
{{
'io var
:identify
@io n:zero? [
#10 io:scan-for dup n:negative?
[ drop 'IO_DEVICE_TYPE_0010_NOT_FOUND s:put nl ]
[ !io ] choose ] if ;
---reveal---
:io:rng-operation identify @io io:invoke ;
}}
:n:random (-n) io:rng-operation ;
~~~