# Changeset 235ac2

Ignore:
Timestamp:
04/12/12 21:37:27 (3 years ago)
Branches:
master
Children:
5daefc
Parents:
0823ac
Message:

Fix for complex args.

File:
1 edited

Unmodified
Added
Removed
• ## qd-bessel.lisp

 r9fd2eb (let* ((iz (* #c(0 1) z)) (i+ (exp-arc-i-2 iz v))) (cond ((= v (ftruncate v)) (cond ((and (= v (ftruncate v)) (realp z)) ;; We can simplify the result (let ((c (cis (* v (float-pi i+) -1/2)))) (let ((c (exp (* v (float-pi i+) #c(0 -1/2))))) (/ (+ (* c i+) (* (conjugate c) (conjugate i+))) (t (let ((i- (exp-arc-i-2 (- iz ) v))) (/ (+ (* (cis (* v (float-pi i+) -1/2)) (/ (+ (* (exp (* v (float-pi i+) #c(0 -1/2))) i+) (* (cis (* v (float-pi i+) 1/2)) (* (exp (* v (float-pi i+) #c(0 1/2))) i-)) (float-pi i+) (an-clrhash) (%big-a-clrhash) (cond ((= vv v) ;; v is an integer (cond ((and (= vv v) (realp z)) ;; v is an integer and z is real (integer-bessel-j-exp-arc v z)) (t (vpi (* v (float-pi (realpart z))))) (+ (integer-bessel-j-exp-arc v z) (* z (/ (sin vpi) vpi) (+ (/ -1 z) (sum-ab big-n v z) (sum-big-ia big-n v z))))))))) (if (= vv v) 0 (* z (/ (sin vpi) vpi) (+ (/ -1 z) (sum-ab big-n v z) (sum-big-ia big-n v z)))))))))) ;; Bessel Y
Note: See TracChangeset for help on using the changeset viewer.