Changeset 235ac2


Ignore:
Timestamp:
04/12/12 21:37:27 (3 years ago)
Author:
Raymond Toy <toy.raymond@…>
Branches:
master
Children:
5daefc
Parents:
0823ac
Message:

Fix for complex args.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • qd-bessel.lisp

    r9fd2eb r235ac2  
    184184  (let* ((iz (* #c(0 1) z))
    185185         (i+ (exp-arc-i-2 iz v)))
    186     (cond ((= v (ftruncate v))
     186    (cond ((and (= v (ftruncate v)) (realp z))
    187187           ;; We can simplify the result
    188            (let ((c (cis (* v (float-pi i+) -1/2))))
     188           (let ((c (exp (* v (float-pi i+) #c(0 -1/2)))))
    189189             (/ (+ (* c i+)
    190190                   (* (conjugate c) (conjugate i+)))
     
    193193          (t
    194194           (let ((i- (exp-arc-i-2 (- iz ) v)))
    195              (/ (+ (* (cis (* v (float-pi i+) -1/2))
     195             (/ (+ (* (exp (* v (float-pi i+) #c(0 -1/2)))
    196196                      i+)
    197                    (* (cis (* v (float-pi i+) 1/2))
     197                   (* (exp (* v (float-pi i+) #c(0 1/2)))
    198198                      i-))
    199199                (float-pi i+)
     
    395395    (an-clrhash)
    396396    (%big-a-clrhash)
    397     (cond ((= vv v)
    398            ;; v is an integer
     397    (cond ((and (= vv v) (realp z))
     398           ;; v is an integer and z is real
    399399           (integer-bessel-j-exp-arc v z))
    400400          (t
     
    403403                 (vpi (* v (float-pi (realpart z)))))
    404404             (+ (integer-bessel-j-exp-arc v z)
    405                 (* z
    406                    (/ (sin vpi) vpi)
    407                    (+ (/ -1 z)
    408                       (sum-ab big-n v z)
    409                       (sum-big-ia big-n v z)))))))))
     405                (if (= vv v)
     406                    0
     407                    (* z
     408                       (/ (sin vpi) vpi)
     409                       (+ (/ -1 z)
     410                          (sum-ab big-n v z)
     411                          (sum-big-ia big-n v z))))))))))
    410412
    411413;; Bessel Y
Note: See TracChangeset for help on using the changeset viewer.