; A cheap source of very low quality random numbers. (library (random) (export random-integer random-real) (import (rnrs)) (define prime1 16708) (define prime2 2147483647) (define (make-generator seed) (let ([seed seed]) (lambda () (set! seed (modulo (* seed prime1) prime2)) seed))) (define generate (make-generator prime1)) (define (random-integer n) (modulo (generate) n)) (define (random-real) (exact->inexact (/ (generate) prime2))))