anchor.diff:     If low-num and/or high-num are fixnums, a fixnum is returned."
     (if (= low-num high-num)
         low-num
  -    #-system-random
  -    (if (and (integerp low-num) (integerp high-num))
  -	(+ low-num (values (truncate (uniform)
  -				     (/ #.(- *uniform-m* 1) (- high-num low-num)))))
  -      (+ low-num (* (* (uniform) #.(/ (float *uniform-m*)))
  -		    (- high-num low-num))))
  -    #+system-random
       (+ low-num (random (- high-num low-num)))  ))
   
   (defun gaussian-random-1 ()
     "Returns a gaussian random variable with mean 0.0 and standard deviation 1.0.
      Good tails."
  -  #-system-random 
  -  (* (sqrt (* -2.0 (log (uniform-0-1))))
  -     (sin (* #.(* 2.0 (coerce pi 'single-float)) (uniform-0-1))))
  -  #+system-random
     (* (sqrt (* -2.0 (log (random 1.0))))
        (sin (* #.(* 2.0 (coerce pi 'single-float)) (random 1.0)))))
   
  
positive.code:   "evaluates body with the seed of the random numbers set to S-NEWSEED.
     the value of S-NEWSEED is updated.  Thus this is a way of
     Keeping several sequences of random numbers with their own seeds."
    #-system-random
    `(let ((*uniform-seed* ,s-newseed))
       (prog1 (progn ,@body) 
  	    (setf ,s-newseed *uniform-seed*)))
    #+system-random
    `(let ((*random-state* ,s-newseed))
       (prog1 (progn ,@body) 
  	    (setq ,s-newseed *random-state*))))
  
negative.code: (defun uniform ()
    "Returns the next uniform random number in the sequence
     To have your own sequence, use the macro WITH-SEED."
    (random *uniform-m* *random-state*))
  
  (defun make-uniform-1-stream (seed)
    ;; Stream of uniform random numbers between 0 and 1
  