diff options
| author | 2024-09-14 12:11:33 -0400 | |
|---|---|---|
| committer | 2024-09-14 12:11:33 -0400 | |
| commit | 1fb756d647663737385080b5579a218687e88828 (patch) | |
| tree | d123da44f5960199fcb84b01fa6b590010fd1653 /markov.impl.scm | |
| parent | continuously generate a bible (diff) | |
use a better random number generator from CHICKEN
Diffstat (limited to 'markov.impl.scm')
| -rw-r--r-- | markov.impl.scm | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/markov.impl.scm b/markov.impl.scm index c5e0423..bb67955 100644 --- a/markov.impl.scm +++ b/markov.impl.scm @@ -169,15 +169,17 @@ ;;; Lehmer random number generator -(define %random-seed 10000) - -(define random - (let ((m 65537) - (a 75)) - (lambda () - (set! %random-seed (remainder (* a %random-seed) - m)) - (/ %random-seed (- m 1))))) +(cond-expand + (chicken (import (chicken random)) + (define random generate-random-real)) + (else (define %random-seed 10000) + (define random + (let ((m 65537) + (a 75)) + (lambda () + (set! %random-seed (remainder (* a %random-seed) + m)) + (/ %random-seed (- m 1))))))) (define probability-list->guess (lambda (lst normalized-random-number) |
