Changeset fb7212 for rt-tests.lisp


Ignore:
Timestamp:
04/17/12 23:15:37 (3 years ago)
Author:
Raymond Toy <rtoy@…>
Branches:
master
Children:
de65a5
Parents:
581a0a08f04a985424c09b6a7b3661d2eb58c3e9
Message:

Add function to compute J(1/2,z) and use it in the tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rt-tests.lisp

    r5566bc rfb7212  
    16241624  nil)
    16251625
     1626(defun bessel-j-1/2 (z)
     1627  ;; bessel_j(1/2,z) = sin(x)/sqrt(x)*sqrt(2/pi)
     1628  (* (/ (sin z) (sqrt z))
     1629     (sqrt (/ 2 (float-pi z)))))
     1630
    16261631;; Bessel J for half integer order and real args
    16271632(rt:deftest bessel-j-1/2.d.1
     
    16321637          for x = (+ 1 (random (/ pi 2)))
    16331638          for b = (bessel-j 0.5d0 x)
    1634           for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 pi)))
     1639          for true = (bessel-j-1/2 x)
    16351640          for result = (check-accuracy 48.42 b true)
    16361641          when result
     
    16411646    (let* ((x 2.3831631289164497d0)
    16421647           (b (bessel-j 0.5d0 x))
    1643            (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 pi)))))
     1648           (true (bessel-j-1/2 x)))
    16441649      (check-accuracy 48.42 b true))
    16451650  nil)
     
    16521657          for x = (+ 1 (random (/ (float-pi #q1) 2)))
    16531658          for b = (bessel-j #q0.5 x)
    1654           for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))
     1659          for true = (bessel-j-1/2 x)
    16551660          for result = (check-accuracy 169.45 b true)
    16561661          when result
     
    16611666    (let* ((x #q1.1288834862545916200627583005758663687705443417892789067029865493882q0)
    16621667           (b (bessel-j #q0.5 x))
    1663            (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))))
     1668           (true (bessel-j-1/2 x)))
    16641669      (check-accuracy 182.92 b true))
    16651670  nil)
     
    16681673    (let* ((x #q1.1288834862545916200627583005758663687705443417892789067029865493882q0)
    16691674           (b (bessel-j #q0.5 x))
    1670            (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))))
     1675           (true (bessel-j-1/2 x)))
    16711676      (check-accuracy 173.28 b true))
    16721677  nil)
     
    16751680    (let* ((x #q1.0360263937639582798798376485114581552570020473846457752365459851056q0)
    16761681           (b (bessel-j #q0.5 x))
    1677            (true (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))))
     1682           (true (bessel-j-1/2 x)))
    16781683      (check-accuracy 169.45 b true))
    16791684  nil)
     
    17151720                           (random (/ pi 2)))
    17161721          for b = (bessel-j 0.5d0 x)
    1717           for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 pi)))
     1722          for true = (bessel-j-1/2 x)
    17181723          for result = (check-accuracy 49.8 b true)
    17191724          when result
     
    17261731                           (random (/ (float-pi #q1) 2)))
    17271732          for b = (bessel-j #q0.5 x)
    1728           for true = (* (/ (sin x) (sqrt x)) (sqrt (/ 2 (float-pi #q1))))
     1733          for true = (bessel-j-1/2 x)
    17291734          for result = (check-accuracy 212 b true)
    17301735          when result
Note: See TracChangeset for help on using the changeset viewer.