erbot-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Erbot-cvs] Changes to erbot/erbutils.el


From: D . Goel
Subject: [Erbot-cvs] Changes to erbot/erbutils.el
Date: Thu, 28 Jul 2005 15:01:39 -0400

Index: erbot/erbutils.el
diff -u erbot/erbutils.el:1.26 erbot/erbutils.el:1.27
--- erbot/erbutils.el:1.26      Wed Jul  6 14:29:01 2005
+++ erbot/erbutils.el   Thu Jul 28 19:01:38 2005
@@ -1,5 +1,5 @@
 ;;; erbutils.el --- 
-;; Time-stamp: <2005-07-06 10:30:48 deego>
+;; Time-stamp: <2005-07-28 15:00:04 deego>
 ;; Copyright (C) 2002 D. Goel
 ;; Emacs Lisp Archive entry
 ;; Filename: erbutils.el
@@ -191,23 +191,24 @@
     (nth (random (length list)) list))
    (t
     (let* ((len (length list))
-     (revw (reverse weights))
-     (fir (car revw))
-     )
+          (revw (reverse weights))
+          (fir (car revw))
+          )
+      ;; If weights are partially specified, fill in missing entries. 
       (while (< (length revw) len)
-  (setq revw (cons fir revw)))
+       (setq revw (cons fir revw)))
       (setq weights (reverse revw))
       (let* ((total (apply '+ weights))
-       (choice (random total))
-       (curw weights)
-       (ctr 0)
-       (num 0))
-  
-  (while (>= choice (+ ctr (car curw)))
-    (setq ctr (+ ctr (car curw)))
-    (incf num)
-    (setq curw (cdr curw)))
-  (nth num list))))))
+            (choice (random total))
+            (curw weights)
+            (ctr 0)
+            (num 0))
+       
+       (while (>= choice (+ ctr (car curw)))
+         (setq ctr (+ ctr (car curw)))
+         (incf num)
+         (setq curw (cdr curw)))
+       (nth num list))))))
 
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]