[oct-scm] [oct-git]OCT: A portable Lisp implementation for quad-double precision floats branch master updated. de65a54b545af76b6df16f3de36e54763ce97235
Raymond Toy
rtoy at common-lisp.net
Tue Apr 17 23:16:16 UTC 2012
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 de65a54b545af76b6df16f3de36e54763ce97235 (commit)
via fb7212315ca5f592ef768c2636e7b3cd745473e4 (commit)
via 581a0a08f04a985424c09b6a7b3661d2eb58c3e9 (commit)
via 76ea9b133d74861db511d7c3e3a29653ce4ebda7 (commit)
via 25129063aaa6168763b447db6f033359a19b60e0 (commit)
via 22db89aa72af64360ed2d0f97709fc26ca01368b (commit)
via fd281d5fcf9fcddb459b4fb12e6922ff2a2121a8 (commit)
from e6a3f286122ea99d65a6448c3c41d0bdc411b2d7 (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 de65a54b545af76b6df16f3de36e54763ce97235
Merge: fb72123 e6a3f28
Author: Raymond Toy <rtoy at google.com>
Date: Tue Apr 17 16:16:07 2012 -0700
Merge branch 'master' of ssh://common-lisp.net/var/git/projects/oct/oct
commit fb7212315ca5f592ef768c2636e7b3cd745473e4
Author: Raymond Toy <rtoy at google.com>
Date: Tue Apr 17 16:15:37 2012 -0700
Add function to compute J(1/2,z) and use it in the tests.
diff --git a/rt-tests.lisp b/rt-tests.lisp
index 5b9f5ad..af1d00c 100644
--- a/rt-tests.lisp
+++ b/rt-tests.lisp
@@ -1617,6 +1617,11 @@
(check-accuracy 51.89 b true))
nil)
+(defun bessel-j-1/2 (z)
+ ;; bessel_j(1/2,z) = sin(x)/sqrt(x)*sqrt(2/pi)
+ (* (/ (sin z) (sqrt z))
+ (sqrt (/ 2 (float-pi z)))))
+
;; Bessel J for half integer order and real args
(rt:deftest bessel-j-1/2.d.1
(loop for k from 0 below 100
@@ -1625,7 +1630,7 @@
;; = 0, where we will lose accuracy.
for x = (+ 1 (random (/ pi 2)))
for b = (bessel-j 0.5d0 x)
- for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 pi)))
+ for true = (bessel-j-1/2 x)
for result = (check-accuracy 48.42 b true)
when result
append (list (list (list k x) result)))
@@ -1634,7 +1639,7 @@
(rt:deftest bessel-j-1/2.d.1.a
(let* ((x 2.3831631289164497d0)
(b (bessel-j 0.5d0 x))
- (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 pi)))))
+ (true (bessel-j-1/2 x)))
(check-accuracy 48.42 b true))
nil)
@@ -1645,7 +1650,7 @@
;; = 0, where we will lose accuracy.
for x = (+ 1 (random (/ (float-pi #q1) 2)))
for b = (bessel-j #q0.5 x)
- for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))
+ for true = (bessel-j-1/2 x)
for result = (check-accuracy 169.45 b true)
when result
append (list (list (list k x) result)))
@@ -1654,21 +1659,21 @@
(rt:deftest bessel-j-1/2.q.1.a
(let* ((x #q1.1288834862545916200627583005758663687705443417892789067029865493882q0)
(b (bessel-j #q0.5 x))
- (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))))
+ (true (bessel-j-1/2 x)))
(check-accuracy 182.92 b true))
nil)
(rt:deftest bessel-j-1/2.q.1.b
(let* ((x #q1.1288834862545916200627583005758663687705443417892789067029865493882q0)
(b (bessel-j #q0.5 x))
- (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))))
+ (true (bessel-j-1/2 x)))
(check-accuracy 173.28 b true))
nil)
(rt:deftest bessel-j-1/2.q.1.c
(let* ((x #q1.0360263937639582798798376485114581552570020473846457752365459851056q0)
(b (bessel-j #q0.5 x))
- (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))))
+ (true (bessel-j-1/2 x)))
(check-accuracy 169.45 b true))
nil)
@@ -1708,7 +1713,7 @@
for x = (complex (random (/ pi 2))
(random (/ pi 2)))
for b = (bessel-j 0.5d0 x)
- for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 pi)))
+ for true = (bessel-j-1/2 x)
for result = (check-accuracy 49.8 b true)
when result
append (list (list (list k x) result)))
@@ -1719,7 +1724,7 @@
for x = (complex (random (/ (float-pi #q1) 2))
(random (/ (float-pi #q1) 2)))
for b = (bessel-j #q0.5 x)
- for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))
+ for true = (bessel-j-1/2 x)
for result = (check-accuracy 212 b true)
when result
append (list (list (list k x) result)))
commit 581a0a08f04a985424c09b6a7b3661d2eb58c3e9
Merge: 76ea9b1 78801d6
Author: Raymond Toy <rtoy at google.com>
Date: Mon Apr 16 10:05:21 2012 -0700
Merge branch 'master' of ssh://common-lisp.net/var/git/projects/oct/oct
commit 76ea9b133d74861db511d7c3e3a29653ce4ebda7
Merge: 2512906 5daefcc
Author: Raymond Toy <rtoy at google.com>
Date: Thu Apr 12 15:32:00 2012 -0700
Merge branch 'master' of ssh://common-lisp.net/var/git/projects/oct/oct
commit 25129063aaa6168763b447db6f033359a19b60e0
Merge: 22db89a 7c5a318
Author: Raymond Toy <rtoy at google.com>
Date: Wed Apr 11 13:53:07 2012 -0700
Merge branch 'master' of ssh://common-lisp.net/var/git/projects/oct/oct
commit 22db89aa72af64360ed2d0f97709fc26ca01368b
Merge: fd281d5 f8943af
Author: Raymond Toy <rtoy at google.com>
Date: Mon Apr 9 11:14:16 2012 -0700
Merge branch 'master' of ssh://common-lisp.net/var/git/projects/oct/oct
diff --cc oct.asd
index ccabbb1,0ca30e5..10cf0f9
--- a/oct.asd
+++ b/oct.asd
@@@ -66,9 -66,10 +66,11 @@@
(:file "qd-theta"
:depends-on ("qd-methods" "qd-reader"))
(:file "qd-gamma"
- :depends-on ("qd-methods" "qd-reader"))
+ :depends-on ("qd-complex" "qd-methods" "qd-reader"))
- ))
+ (:file "qd-bessel"
+ :depends-on ("qd-methods"))))
+
+
(defmethod perform ((op test-op) (c (eql (asdf:find-system :oct))))
(oos 'test-op 'oct-tests))
commit fd281d5fcf9fcddb459b4fb12e6922ff2a2121a8
Author: Raymond Toy <rtoy at google.com>
Date: Fri Mar 23 20:48:40 2012 -0700
qd-gamma depends on qd-complex.
diff --git a/oct.asd b/oct.asd
index 3f8d70c..ccabbb1 100644
--- a/oct.asd
+++ b/oct.asd
@@ -66,7 +66,7 @@
(:file "qd-theta"
:depends-on ("qd-methods" "qd-reader"))
(:file "qd-gamma"
- :depends-on ("qd-methods" "qd-reader"))
+ :depends-on ("qd-complex" "qd-methods" "qd-reader"))
))
(defmethod perform ((op test-op) (c (eql (asdf:find-system :oct))))
-----------------------------------------------------------------------
Summary of changes:
oct.asd | 3 ++-
rt-tests.lisp | 21 +++++++++++++--------
2 files changed, 15 insertions(+), 9 deletions(-)
hooks/post-receive
--
OCT: A portable Lisp implementation for quad-double precision floats
More information about the oct-cvs
mailing list