diff lisp/calc/calc-comb.el @ 59009:0ac9bc0d2ec1

(math-random-last): Declare it. (math-random-digit): Undo last change. Don't make math-random-last local. (var-RandSeed): Don't initially bind it. (math-init-random-base, math-random-digit): Check to see if var-RandSeed is bound.
author Jay Belanger <jay.p.belanger@gmail.com>
date Fri, 17 Dec 2004 05:26:18 +0000
parents 9b61c52f0f54
children a27ed02e5a65 eac554634bfa
line wrap: on
line diff
--- a/lisp/calc/calc-comb.el	Fri Dec 17 05:02:20 2004 +0000
+++ b/lisp/calc/calc-comb.el	Fri Dec 17 05:26:18 2004 +0000
@@ -540,12 +540,12 @@
 ;;; Produce a random 10-bit integer, with (random) if no seed provided,
 ;;; or else with Numerical Recipes algorithm ran3 / Knuth 3.2.2-A.
 
-(defvar var-RandSeed nil)
+(defvar var-RandSeed)
 (defvar math-random-cache nil)
 (defvar math-gaussian-cache nil)
 
 (defun math-init-random-base ()
-  (if var-RandSeed
+  (if (and (boundp 'var-RandSeed) var-RandSeed)
       (if (eq (car-safe var-RandSeed) 'vec)
 	  nil
 	(if (Math-integerp var-RandSeed)
@@ -599,9 +599,10 @@
 ;;; Produce a random digit in the range 0..999.
 ;;; Avoid various pitfalls that may lurk in the built-in (random) function!
 ;;; Shuffling algorithm from Numerical Recipes, section 7.1.
+(defvar math-random-last)
 (defun math-random-digit ()
-  (let (i math-random-last)
-    (or (and var-RandSeed (eq var-RandSeed math-last-RandSeed))
+  (let (i)
+    (or (and (boundp 'var-RandSeed) (eq var-RandSeed math-last-RandSeed))
 	(math-init-random-base))
     (or math-random-cache
 	(progn