Commit c880c79d64890d6d9030d331862ac0be6adce897
- Date: Sun Feb 24 22:40:14 +0000 2008
- Committer: Leonardo Varuzza (varuzza@gmail.com)
- Author: Leonardo Varuzza (varuzza@gmail.com)
- Commit SHA1: c880c79d64890d6d9030d331862ac0be6adce897
- Tree SHA1: 9ba6706f6272a59439d9e689aa9525967fd56cb1
Fix binomial!!!
Fix format string in multinomial-test
Commit diff
| |   |
| 60 | 60 | |
| 61 | 61 | (tagbody |
| 62 | 62 | start |
| 63 | (when (<= n 10) |
| 64 | (go end)) |
| 63 | 65 | (setf a (+ 1 (floor n 2))) |
| 64 | 66 | (setf b (+ 1 (- n a))) |
| 65 | | |
| 67 | |
| 66 | 68 | (setf X (random-beta (coerce a 'double-float) |
| 67 | 69 | (coerce b 'double-float))) |
| 68 | 70 | |
| … | … | |
| 76 | 76 | (incf k a) |
| 77 | 77 | (setf n (- b 1)) |
| 78 | 78 | (setf p (/ (- p X) (- 1d0 X))))) |
| 79 | | |
| 80 | | (when (> n 10) |
| 81 | | (go start))) |
| 79 | (go start) |
| 80 | end) |
| 82 | 81 | |
| 83 | 82 | (loop |
| 84 | 83 | for i integer from 0 to (- n 1) |
| toggle raw diff |
--- a/binomial.lisp
+++ b/binomial.lisp
@@ -60,9 +60,11 @@
(tagbody
start
+ (when (<= n 10)
+ (go end))
(setf a (+ 1 (floor n 2)))
(setf b (+ 1 (- n a)))
-
+
(setf X (random-beta (coerce a 'double-float)
(coerce b 'double-float)))
@@ -74,9 +76,8 @@
(incf k a)
(setf n (- b 1))
(setf p (/ (- p X) (- 1d0 X)))))
-
- (when (> n 10)
- (go start)))
+ (go start)
+ end)
(loop
for i integer from 0 to (- n 1) |
| |   |
| 98 | 98 | (loop for j from 0 to (1- d) |
| 99 | 99 | do (push (aref n j) (aref r j))))) |
| 100 | 100 | (loop for j from 0 to (1- d) |
| 101 | | do (format t "~2d ~8.2f ~8.2f~t~8.2f ~8.2f~%" |
| 101 | do (format t "~2d ~8f ~8f~t~8f ~8f~%" |
| 102 | 102 | j |
| 103 | 103 | (float (mean (aref r j))) |
| 104 | 104 | (* nn (aref p j)) |
| toggle raw diff |
--- a/multinomial.lisp
+++ b/multinomial.lisp
@@ -98,7 +98,7 @@ gsl_ran_multinomial (const gsl_rng * r, const size_t K,
(loop for j from 0 to (1- d)
do (push (aref n j) (aref r j)))))
(loop for j from 0 to (1- d)
- do (format t "~2d ~8.2f ~8.2f~t~8.2f ~8.2f~%"
+ do (format t "~2d ~8f ~8f~t~8f ~8f~%"
j
(float (mean (aref r j)))
(* nn (aref p j)) |