(defun normal (mean std) (let ((U (- (my-random 2.0) 1)) (V (- (my-random 2.0) 1)) (R 0)) (while (or (> (+ (* U U) (* V V)) 1) (< (+ (* U U) (* V V)) 0.000001)) (setf U (- (my-random 2.0) 1)) (setf V (- (my-random 2.0) 1))) (setf R (sqrt (* -1 (log (my-random 1.0))))) (+ mean (* std (* U (/ R (sqrt (+ (* U U) (* V V)))))))))