Allow MAKE-RANDOM-STATE to accept #T as an argument.
authorChris Hanson <org/chris-hanson/cph>
Thu, 14 Oct 1993 10:13:58 +0000 (10:13 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 14 Oct 1993 10:13:58 +0000 (10:13 +0000)
v7/src/runtime/random.scm

index 279be30ca4f1e26757b5cbb9e0831d04b36de6a9..29a88e801618fdb91d1b42b48c7e208d63742e94 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: random.scm,v 14.7 1993/10/14 09:44:21 cph Exp $
+$Id: random.scm,v 14.8 1993/10/14 10:13:58 cph Exp $
 
 Copyright (c) 1993 Massachusetts Institute of Technology
 
@@ -104,21 +104,15 @@ MIT in each case. |#
        (flo:/ element b.)))))
 \f
 (define (make-random-state #!optional state)
-  (let ((state (if (default-object? state) #f state))
-       (new-state
-        (lambda (n)
-          (initial-random-state (congruential-rng (+ n 123456789))))))
-    (cond ((eq? #t state)
-          (new-state (real-time-clock)))
-         ((exact-integer? state)
-          ;; This case is for upwards compatibility.
-          (new-state state))
-         (else
-          (let ((state (guarantee-random-state state 'MAKE-RANDOM-STATE)))
-            (%make-random-state
-             (random-state-index state)
-             (random-state-borrow state)
-             (vector-copy (random-state-vector state))))))))
+  (let ((state (if (default-object? state) #f state)))
+    (if (or (eq? #t state) (exact-integer? state))
+       (initial-random-state
+        (congruential-rng (+ (real-time-clock) 123456789)))
+       (let ((state (guarantee-random-state state 'MAKE-RANDOM-STATE)))
+         (%make-random-state
+          (random-state-index state)
+          (random-state-borrow state)
+          (vector-copy (random-state-vector state)))))))
 
 (define (initial-random-state generate-random-seed)
   ;; The numbers returned by GENERATE-RANDOM-SEED are not critical.