/[erbot]/erbot/erbutils.el
ViewVC logotype

Diff of /erbot/erbutils.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.26 by deego, Wed Jul 6 14:29:01 2005 UTC revision 1.27 by deego, Thu Jul 28 19:01:38 2005 UTC
# Line 1  Line 1 
1  ;;; erbutils.el ---  ;;; erbutils.el ---
2  ;; Time-stamp: <2005-07-06 10:30:48 deego>  ;; Time-stamp: <2005-07-28 15:00:04 deego>
3  ;; Copyright (C) 2002 D. Goel  ;; Copyright (C) 2002 D. Goel
4  ;; Emacs Lisp Archive entry  ;; Emacs Lisp Archive entry
5  ;; Filename: erbutils.el  ;; Filename: erbutils.el
# Line 191  as many times as it returns a... Line 191  as many times as it returns a...
191      (nth (random (length list)) list))      (nth (random (length list)) list))
192     (t     (t
193      (let* ((len (length list))      (let* ((len (length list))
194       (revw (reverse weights))             (revw (reverse weights))
195       (fir (car revw))             (fir (car revw))
196       )             )
197          ;; If weights are partially specified, fill in missing entries.
198        (while (< (length revw) len)        (while (< (length revw) len)
199    (setq revw (cons fir revw)))          (setq revw (cons fir revw)))
200        (setq weights (reverse revw))        (setq weights (reverse revw))
201        (let* ((total (apply '+ weights))        (let* ((total (apply '+ weights))
202         (choice (random total))               (choice (random total))
203         (curw weights)               (curw weights)
204         (ctr 0)               (ctr 0)
205         (num 0))               (num 0))
206              
207    (while (>= choice (+ ctr (car curw)))          (while (>= choice (+ ctr (car curw)))
208      (setq ctr (+ ctr (car curw)))            (setq ctr (+ ctr (car curw)))
209      (incf num)            (incf num)
210      (setq curw (cdr curw)))            (setq curw (cdr curw)))
211    (nth num list))))))          (nth num list))))))
212    
213    
214    

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26