This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "OCT: A portable Lisp implementation for quad-double precision floats".
The branch, master has been updated via fe8cffb5ee8e7161addf7586ecaee00682c6bf1b (commit) from e10e402d446339130042607357b0129b35a1faa7 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit fe8cffb5ee8e7161addf7586ecaee00682c6bf1b Author: Raymond Toy toy.raymond@gmail.com Date: Thu Mar 22 22:58:43 2012 -0700
Clean up implemenation of s-exp-integral-e a bit.
diff --git a/qd-gamma.lisp b/qd-gamma.lisp index 13f0bd9..e353ff5 100644 --- a/qd-gamma.lisp +++ b/qd-gamma.lisp @@ -497,18 +497,19 @@ (if (and (realp v) (= v (ftruncate v))) ;; v is an integer - (let ((n (truncate v))) - (- (* (/ (expt -z (- v 1)) + (let* ((n (truncate v)) + (n-1 (1- n))) + (- (* (/ (expt -z n-1) (gamma v)) (- (psi v) (log z))) (loop for k from 0 - for term = 1 then (* term (/ -z k)) - for sum = (/ (- 1 v)) then (+ sum (let ((denom (+ k 1 (- n)))) + for term = 1 then (* term (/ -z k)) + for sum = (/ (- 1 v)) then (+ sum (let ((denom (- k n-1))) (if (zerop denom) 0 - (/ term (+ k 1 -v))))) - when (< (abs term) (* (abs sum) eps)) - return sum))) + (/ term denom)))) + when (< (abs term) (* (abs sum) eps)) + return sum))) (loop for k from 0 for term = 1 then (* term (/ -z k)) for sum = (/ (- 1 v)) then (+ sum (/ term (+ k 1 -v)))
-----------------------------------------------------------------------
Summary of changes: qd-gamma.lisp | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
hooks/post-receive