Complete exercise 3.6
This commit is contained in:
parent
079ee8d08e
commit
ab4554fcd8
13
3_5.rkt
13
3_5.rkt
|
@ -7,11 +7,18 @@
|
||||||
(modulo (+ (* a x) b) m)))
|
(modulo (+ (* a x) b) m)))
|
||||||
|
|
||||||
(define random-init 7) ;**not in book**
|
(define random-init 7) ;**not in book**
|
||||||
|
|
||||||
(define rand
|
(define rand
|
||||||
(let ((x random-init))
|
(let ((x random-init))
|
||||||
(lambda ()
|
(lambda (arg)
|
||||||
(set! x (rand-update x))
|
(cond ((eq? arg 'reset)
|
||||||
x)))
|
(lambda (seed)
|
||||||
|
(set! random-init seed)))
|
||||||
|
((eq? arg 'generate)
|
||||||
|
(set! x (rand-update x))
|
||||||
|
x)
|
||||||
|
(else
|
||||||
|
(error "rand - unknown argument" arg))))))
|
||||||
|
|
||||||
(define (random-in-range low high)
|
(define (random-in-range low high)
|
||||||
(let ((range (- high low)))
|
(let ((range (- high low)))
|
||||||
|
|
Loading…
Reference in New Issue