Files
LithosAnanake/capsules/init-l8-volatile.4th

47 lines
718 B
Forth

Block 4810
VARIABLE RNG-STATE
12345 RNG-STATE !
: RAND ( -- n )
RNG-STATE @ 1103515245 * 12345 +
DUP RNG-STATE !
65535 AND ;
Block 4811
: VOLATILE-BRANCH ( -- )
100 0 DO
RAND 7 MOD CASE
0 OF 1 2 + DROP ENDOF
1 OF 10 0 DO I DROP LOOP ENDOF
2 OF 5 DUP * DROP ENDOF
3 OF 100 50 - DROP ENDOF
4 OF 42 . ENDOF
5 OF HERE @ DROP ENDOF
6 OF BASE @ BASE ! ENDOF
ENDCASE
LOOP ;
Block 4812
: NESTED-COND ( n -- )
DUP 10 < IF
DUP 5 < IF
DROP 1
ELSE
DROP 2
THEN
ELSE
DUP 20 < IF
DROP 3
ELSE
DROP 4
THEN
THEN DROP ;
Block 4813
: MAIN ( -- )
1000 0 DO
RAND 30 MOD NESTED-COND
VOLATILE-BRANCH
LOOP ;
MAIN