Commit 64fea6a9 authored by Liam Healy's avatar Liam Healy
Browse files

Updated tests; all pass

Fixes to some definitions 
lognormal, discrete: use #'mpointer
lu: new syntax for making array
quasi: order of arguments fixed in make-quasi-random-number-generator
sorting: syntax to make combination
All tests have been regenerated because syntax for arrays etc. has
changed.  Visually inspected that results match previous check in.
parent e88a5593
;; Use the foreign-friendly arrays package. ;; Use the foreign-friendly arrays package.
;; Liam Healy 2008-03-22 15:40:08EDT ;; Liam Healy 2008-03-22 15:40:08EDT
;; Time-stamp: <2008-12-26 10:10:40EST foreign-friendly.lisp> ;; Time-stamp: <2008-12-27 10:23:27EST foreign-friendly.lisp>
;; $Id$ ;; $Id$
;;; Foreign-friendly arrays (original implementation by Tamas Papp) ;;; Foreign-friendly arrays (original implementation by Tamas Papp)
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
(error "dimensions must be specified if contents are not"))) (error "dimensions must be specified if contents are not")))
(when (and initial-matrix initial-contents-p) (when (and initial-matrix initial-contents-p)
;; flatten matrix spec ;; flatten matrix spec
(setf initial-contents (mapcar #'append initial-contents))) (setf initial-contents (apply #'append initial-contents)))
(when complex-initial-real (when complex-initial-real
(setf initial-contents (list-complex-from-real initial-contents))) (setf initial-contents (list-complex-from-real initial-contents)))
(apply 'make-ffa-1d (apply 'make-ffa-1d
......
;; Load GSL ;; Load GSL
;; Liam Healy Sat Mar 4 2006 - 18:53 ;; Liam Healy Sat Mar 4 2006 - 18:53
;; Time-stamp: <2008-11-25 16:20:30EST init.lisp> ;; Time-stamp: <2008-12-27 09:33:09EST init.lisp>
;; $Id$ ;; $Id$
(defpackage gsll (defpackage gsll
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
(:darwin (:darwin
(:or "/opt/local/lib/libgslcblas.dylib" "/sw/lib/libgslcblas.dylib" (:or "/opt/local/lib/libgslcblas.dylib" "/sw/lib/libgslcblas.dylib"
"/usr/local/lib/libgslcblas.dylib")) "/usr/local/lib/libgslcblas.dylib"))
(:unix (:or "/usr/lib/libgslcblas.so.0" "/usr/lib/libgslcblas.so")) (:unix (:or "/usr/lib/libgslcblas.so.0" "/usr/lib/libgslcblas.so"
"/usr/lib64/libgslcblas.so.0" "/usr/lib64/libgslcblas.so"))
(t (:default "libgslcblas"))) (t (:default "libgslcblas")))
(cffi:use-foreign-library libgslcblas) (cffi:use-foreign-library libgslcblas)
...@@ -20,7 +21,8 @@ ...@@ -20,7 +21,8 @@
(:darwin (:darwin
(:or "/opt/local/lib/libgsl.dylib" "/sw/lib/libgsl.dylib" (:or "/opt/local/lib/libgsl.dylib" "/sw/lib/libgsl.dylib"
"/usr/local/lib/libgsl.dylib")) "/usr/local/lib/libgsl.dylib"))
(:unix (:or "/usr/lib/libgsl.so.0" "/usr/lib/libgsl.so")) (:unix (:or "/usr/lib/libgsl.so.0" "/usr/lib/libgsl.so"
"/usr/lib64/libgsl.so.0" "/usr/lib64/libgsl.so"))
(t (:default "libgsl"))) (t (:default "libgsl")))
(cffi:use-foreign-library libgsl) (cffi:use-foreign-library libgsl)
......
;; LU decomposition ;; LU decomposition
;; Liam Healy, Thu Apr 27 2006 - 12:42 ;; Liam Healy, Thu Apr 27 2006 - 12:42
;; Time-stamp: <2008-12-26 12:55:48EST lu.lisp> ;; Time-stamp: <2008-12-27 10:57:53EST lu.lisp>
;; $Id$ ;; $Id$
(in-package :gsl) (in-package :gsl)
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
(defun invert-matrix (mat) (defun invert-matrix (mat)
"Invert the matrix." "Invert the matrix."
(let* ((mmat mat) ; BROKEN, requires copy of mat (let* ((mmat mat) ; BROKEN, requires copy of mat
(dim (array-dimension mat 0)) (dim (first (dimensions mat)))
(per (make-permutation dim)) (per (make-permutation dim))
(inv (make-marray 'double-float :dimensions (list dim dim)))) (inv (make-marray 'double-float :dimensions (list dim dim))))
(LU-decomposition mmat per) (LU-decomposition mmat per)
...@@ -143,4 +143,6 @@ ...@@ -143,4 +143,6 @@
(save-test lu (save-test lu
(invert-matrix (invert-matrix
(make-marray '(2 2) 'double-float :initial-contents '(1.0d0 2.0d0 3.0d0 4.0d0)))) (make-marray 'double-float
:dimensions '(2 2)
:initial-contents '(1.0d0 2.0d0 3.0d0 4.0d0))))
;; Discrete random variables ;; Discrete random variables
;; Liam Healy, Sat Nov 11 2006 - 21:51 ;; Liam Healy, Sat Nov 11 2006 - 21:51
;; Time-stamp: <2008-12-26 18:52:04EST discrete.lisp> ;; Time-stamp: <2008-12-27 10:33:36EST discrete.lisp>
;; $Id$ ;; $Id$
(in-package :gsl) (in-package :gsl)
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
(defmfun discrete (generator table) (defmfun discrete (generator table)
"gsl_ran_discrete" "gsl_ran_discrete"
(((mpointer generator) :pointer) (table :pointer)) (((mpointer generator) :pointer) ((mpointer table) :pointer))
:c-return sizet :c-return sizet
:documentation ; FDL :documentation ; FDL
"Generate discrete random numbers after running #'discrete-preprocess; "Generate discrete random numbers after running #'discrete-preprocess;
......
;; Lognormal distribution ;; Lognormal distribution
;; Liam Healy, Sat Sep 30 2006 ;; Liam Healy, Sat Sep 30 2006
;; Time-stamp: <2008-12-26 11:41:53EST lognormal.lisp> ;; Time-stamp: <2008-12-27 10:49:01EST lognormal.lisp>
;; $Id$ ;; $Id$
(in-package :gsl) (in-package :gsl)
(defmfun lognormal (generator zeta sigma) (defmfun lognormal (generator zeta sigma)
"gsl_ran_lognormal" "gsl_ran_lognormal"
(((generator generator) :pointer) (zeta :double) (sigma :double)) (((mpointer generator) :pointer) (zeta :double) (sigma :double))
:c-return :double :c-return :double
:documentation ; FDL :documentation ; FDL
"A random variate from the lognormal distribution. "A random variate from the lognormal distribution.
......
;; Quasi-random sequences in arbitrary dimensions. ;; Quasi-random sequences in arbitrary dimensions.
;; Liam Healy, Sun Jul 16 2006 - 15:54 ;; Liam Healy, Sun Jul 16 2006 - 15:54
;; Time-stamp: <2008-12-26 18:49:30EST quasi.lisp> ;; Time-stamp: <2008-12-27 11:10:20EST quasi.lisp>
;; $Id$ ;; $Id$
(in-package :gsl) (in-package :gsl)
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
;;; Examples and unit test ;;; Examples and unit test
(save-test quasi-random-number-generators (save-test quasi-random-number-generators
;; This example is given in the GSL documentation ;; This example is given in the GSL documentation
(let ((gen (make-quasi-random-number-generator 2 *sobol*)) (let ((gen (make-quasi-random-number-generator *sobol* 2))
(vec (make-marray 'double-float :dimensions 2))) (vec (make-marray 'double-float :dimensions 2)))
(loop repeat 5 (loop repeat 5
do (qrng-get gen vec) do (qrng-get gen vec)
......
;; Sorting ;; Sorting
;; Liam Healy, Fri Apr 14 2006 - 20:20 ;; Liam Healy, Fri Apr 14 2006 - 20:20
;; Time-stamp: <2008-12-26 12:25:09EST sorting.lisp> ;; Time-stamp: <2008-12-27 11:36:24EST sorting.lisp>
;; $Id$ ;; $Id$
(in-package :gsl) (in-package :gsl)
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
(cl-array (sort-smallest m2 m1)))) (cl-array (sort-smallest m2 m1))))
(generate-all-array-tests sort-vector-smallest-index :no-complex (generate-all-array-tests sort-vector-smallest-index :no-complex
(let ((comb (make-combination '(8 3))) (let ((comb (make-combination 8 3 nil))
(v1 (array-default 8))) (v1 (array-default 8)))
(cl-array (sort-vector-smallest-index comb v1)))) (cl-array (sort-vector-smallest-index comb v1))))
...@@ -294,6 +294,6 @@ ...@@ -294,6 +294,6 @@
(cl-array (sort-largest m2 m1)))) (cl-array (sort-largest m2 m1))))
(generate-all-array-tests sort-vector-largest-index :no-complex (generate-all-array-tests sort-vector-largest-index :no-complex
(let ((comb (make-combination '(8 3))) (let ((comb (make-combination 8 3 nil))
(v1 (array-default 8))) (v1 (array-default 8)))
(cl-array (sort-vector-largest-index comb v1)))) (cl-array (sort-vector-largest-index comb v1))))
...@@ -6,12 +6,14 @@ ...@@ -6,12 +6,14 @@
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST (LIST 6.18d0 6.647777777777779d0 6.18d0)) (LIST (LIST 6.18d0 6.647777777777779d0 6.18d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((VEC
((VEC (VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0))) (MAKE-MARRAY 'DOUBLE-FLOAT :INITIAL-CONTENTS
(WEIGHTS '(-3.21d0 1.0d0 12.8d0)))
(VECTOR-DOUBLE-FLOAT (A 3.0d0 1.0d0 2.0d0)))) (WEIGHTS
(LET ((MEAN (MEAN VEC))) (MAKE-MARRAY 'DOUBLE-FLOAT :INITIAL-CONTENTS
(LIST (ABSOLUTE-DEVIATION VEC) '(3.0d0 1.0d0 2.0d0))))
(WEIGHTED-ABSOLUTE-DEVIATION VEC WEIGHTS) (LET ((MEAN (MEAN VEC)))
(ABSOLUTE-DEVIATION VEC MEAN))))))) (LIST (ABSOLUTE-DEVIATION VEC)
(WEIGHTED-ABSOLUTE-DEVIATION VEC WEIGHTS)
(ABSOLUTE-DEVIATION VEC MEAN)))))))
...@@ -5,56 +5,66 @@ ...@@ -5,56 +5,66 @@
(LISP-UNIT:DEFINE-TEST ABSOLUTE-SUM (LISP-UNIT:DEFINE-TEST ABSOLUTE-SUM
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 157.99) (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 157.99)
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((V1
((V1 (MAKE-MARRAY
(VECTOR-SINGLE-FLOAT 'SINGLE-FLOAT
(A -34.5 8.24 :INITIAL-CONTENTS
3.29 -8.93 '(-34.5 8.24
34.12 -6.15 3.29 -8.93
49.27 -13.49) 34.12
NIL))) -6.15
(ABSOLUTE-SUM 49.27
V1)))) -13.49))))
(ABSOLUTE-SUM
V1))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 157.99d0) (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 157.99d0)
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((V1
((V1 (MAKE-MARRAY
(VECTOR-DOUBLE-FLOAT 'DOUBLE-FLOAT
(A -34.5d0 :INITIAL-CONTENTS
8.24d0 3.29d0 '(-34.5d0
-8.93d0 8.24d0
34.12d0 3.29d0
-6.15d0 -8.93d0
49.27d0 34.12d0
-13.49d0) -6.15d0
NIL))) 49.27d0
(ABSOLUTE-SUM -13.49d0))))
V1)))) (ABSOLUTE-SUM
V1))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 388.65997) (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 388.65997)
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((V1
((V1 (MAKE-MARRAY
(VECTOR-COMPLEX-SINGLE-FLOAT '(COMPLEX
(A -34.5 8.24 SINGLE-FLOAT)
3.29 -8.93 :INITIAL-CONTENTS
34.12 -6.15 '(-34.5 8.24
49.27 -13.49 3.29 -8.93
32.5 42.73 34.12
-17.24 43.31 -6.15
-16.12 -8.25 49.27
21.44 -49.08) -13.49
NIL))) 32.5 42.73
(ABSOLUTE-SUM -17.24
V1)))) 43.31
-16.12
-8.25
21.44
-49.08))))
(ABSOLUTE-SUM
V1))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST 388.65999999999997d0) (LIST 388.65999999999997d0)
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((V1
((V1 (MAKE-MARRAY '(COMPLEX DOUBLE-FLOAT)
(VECTOR-COMPLEX-DOUBLE-FLOAT :INITIAL-CONTENTS
(A -34.5d0 8.24d0 3.29d0 -8.93d0 34.12d0 -6.15d0 '(-34.5d0 8.24d0 3.29d0 -8.93d0
49.27d0 -13.49d0 32.5d0 42.73d0 -17.24d0 34.12d0 -6.15d0 49.27d0 -13.49d0
43.31d0 -16.12d0 -8.25d0 21.44d0 -49.08d0) 32.5d0 42.73d0 -17.24d0 43.31d0
NIL))) -16.12d0 -8.25d0 21.44d0
(ABSOLUTE-SUM V1))))) -49.08d0))))
(ABSOLUTE-SUM V1)))))
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
(LIST (LIST
(LIST -0.04646366834251103d0 -0.04646366834251103d0)) (LIST -0.04646366834251103d0 -0.04646366834251103d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((VEC
((VEC (MAKE-MARRAY 'DOUBLE-FLOAT :INITIAL-CONTENTS
(VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0)))) '(-3.21d0 1.0d0 12.8d0))))
(LET ((MEAN (MEAN VEC))) (LET ((MEAN (MEAN VEC)))
(LIST (AUTOCORRELATION VEC) (LIST (AUTOCORRELATION VEC)
(AUTOCORRELATION VEC MEAN))))))) (AUTOCORRELATION VEC MEAN)))))))
...@@ -8,79 +8,84 @@ ...@@ -8,79 +8,84 @@
#(1400.77 -284.0684 -147.7214 397.47382 -1369.3191 #(1400.77 -284.0684 -147.7214 397.47382 -1369.3191
235.659 -1932.6083 485.93335)) 235.659 -1932.6083 485.93335))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((V1
((V1 (MAKE-MARRAY 'SINGLE-FLOAT :INITIAL-CONTENTS
(VECTOR-SINGLE-FLOAT '(-34.5 8.24 3.29 -8.93 34.12
(A -34.5 8.24 3.29 -8.93 34.12 -6.15 49.27 -13.49) -6.15 49.27 -13.49)))
NIL)) (V2
(V2 (MAKE-MARRAY 'SINGLE-FLOAT :INITIAL-CONTENTS
(VECTOR-SINGLE-FLOAT '(32.5 42.73 -17.24 43.31 -16.12
(A 32.5 42.73 -17.24 43.31 -16.12 -8.25 21.44 -8.25 21.44 -49.08)))
-49.08) (SCALAR -39.66))
NIL)) (CL-ARRAY (AXPY SCALAR V1 V2)))))
(SCALAR -39.66))
(CL-ARRAY (AXPY SCALAR V1 V2)))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST (LIST
#(1400.77d0 -284.06839999999994d0 -147.7214d0 #(1400.77d0 -284.06839999999994d0 -147.7214d0
397.4738d0 -1369.3191999999997d0 235.659d0 397.4738d0 -1369.3191999999997d0 235.659d0
-1932.6082d0 485.93339999999995d0)) -1932.6082d0 485.93339999999995d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM (LET ((V1
((V1 (MAKE-MARRAY 'DOUBLE-FLOAT :INITIAL-CONTENTS
(VECTOR-DOUBLE-FLOAT '(-34.5d0 8.24d0 3.29d0 -8.93d0
(A -34.5d0 8.24d0 3.29d0 -8.93d0 34.12d0 -6.15d0 34.12d0 -6.15d0 49.27d0
49.27d0 -13.49d0) -13.49d0)))
NIL)) (V2
(V2 (MAKE-MARRAY 'DOUBLE-FLOAT :INITIAL-CONTENTS
(VECTOR-DOUBLE-FLOAT '(32.5d0 42.73d0 -17.24d0 43.31d0
(A 32.5d0 42.73d0 -17.24d0 43.31d0 -16.12d0 -16.12d0 -8.25d0 21.44d0
-8.25d0 21.44d0 -49.08d0) -49.08d0)))
NIL)) (SCALAR -39.66d0))
(SCALAR -39.66d0)) (CL-ARRAY (AXPY SCALAR V1 V2)))))
(CL-ARRAY (AXPY SCALAR V1 V2)))))
(LISP-UNIT:ASSERT-ERROR 'SIMPLE-ERROR (LISP-UNIT:ASSERT-ERROR 'SIMPLE-ERROR
(LETM (LET ((V1
((V1 (MAKE-MARRAY
(VECTOR-COMPLEX-SINGLE-FLOAT '(COMPLEX SINGLE-FLOAT)
(A -34.5 8.24 3.29 -8.93 :INITIAL-CONTENTS
34.12 -6.15 49.27 -13.49 '(-34.5 8.24 3.29 -8.93
32.5 42.73 -17.24 43.31 34.12 -6.15 49.27
-16.12 -8.25 21.44 -13.49 32.5 42.73
-49.08) -17.24 43.31 -16.12
NIL)) -8.25 21.44 -49.08)))
(V2 (V2
(VECTOR-COMPLEX-SINGLE-FLOAT (MAKE-MARRAY
(A 32.5 42.73 -17.24 43.31 '(COMPLEX SINGLE-FLOAT)
-16.12 -8.25 21.44 -49.08 :INITIAL-CONTENTS
-39.66 -49.46 19.68 -5.55 '(32.5 42.73 -17.24
-8.82 25.37 -30.58 31.67) 43.31 -16.12 -8.25
NIL)) 21.44 -49.08 -39.66
(SCALAR #C(-39.66 -49.46))) -49.46 19.68 -5.55
(CL-ARRAY -8.82 25.37 -30.58
(AXPY SCALAR V1 V2)))) 31.67)))
(SCALAR #C(-39.66 -49.46)))
(CL-ARRAY
(AXPY SCALAR V1 V2))))
(LISP-UNIT:ASSERT-ERROR 'SIMPLE-ERROR (LISP-UNIT:ASSERT-ERROR 'SIMPLE-ERROR
(LETM (LET ((V1
((V1 (MAKE-MARRAY
(VECTOR-COMPLEX-DOUBLE-FLOAT '(COMPLEX DOUBLE-FLOAT)
(A -34.5d0 8.24d0 3.29d0 :INITIAL-CONTENTS
-8.93d0 34.12d0 -6.15d0 '(-34.5d0 8.24d0 3.29d0
49.27d0 -13.49d0 32.5d0 -8.93d0 34.12d0
42.73d0 -17.24d0 43.31d0 -6.15d0 49.27d0
-16.12d0 -8.25d0 21.44d0 -13.49d0 32.5d0
-49.08d0) 42.73d0 -17.24d0
NIL)) 43.31d0 -16.12d0
(V2 -8.25d0 21.44d0
(VECTOR-COMPLEX-DOUBLE-FLOAT -49.08d0)))
(A 32.5d0 42.73d0 -17.24d0 (V2
43.31d0 -16.12d0 -8.25d0 (MAKE-MARRAY
21.44d0 -49.08d0 -39.66d0 '(COMPLEX DOUBLE-FLOAT)
-49.46d0 19.68d0 -5.55d0 :INITIAL-CONTENTS
-8.82d0 25.37d0 -30.58d0 '(32.5d0 42.73d0
31.67d0) -17.24d0 43.31d0
NIL)) -16.12d0 -8.25d0
(SCALAR 21.44d0 -49.08d0
#C(-39.66d0 -49.46d0))) -39.66d0 -49.46d0
(CL-ARRAY 19.68d0 -5.55d0
(AXPY SCALAR V1 V2))))) -8.82d0 25.37d0
-30.58d0 31.67d0)))
(SCALAR
#C(-39.66d0 -49.46d0)))
(CL-ARRAY
(AXPY SCALAR V1 V2)))))
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST (LIST 0 1 1 0 1 1 0 0 0 0 0)) (LIST (LIST 0 1 1 0 1 1 0 0 0 0 0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) (LET ((RNG (MAKE-RANDOM-NUMBER-GENERATOR *MT19937* 0)))
(LOOP FOR I FROM 0 TO 10 COLLECT (LOOP FOR I FROM 0 TO 10 COLLECT
(BERNOULLI RNG 0.5d0))))) (BERNOULLI RNG 0.5d0)))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 0.5d0) (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 0.5d0)
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(BERNOULLI-PDF 0 (BERNOULLI-PDF 0
......
...@@ -17,9 +17,10 @@ ...@@ -17,9 +17,10 @@
#(0.35283402861563773d0 0.12894324947440206d0 #(0.35283402861563773d0 0.12894324947440206d0
0.033995719807568436d0 0.007039629755871686d0)) 0.033995719807568436d0 0.007039629755871686d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) (LET ((BESARR
(CYLINDRICAL-BESSEL-JN-ARRAY 2.0d0 BESARR 2) (MAKE-MARRAY 'DOUBLE-FLOAT :DIMENSIONS 4)))
(CL-ARRAY BESARR)))) (CYLINDRICAL-BESSEL-JN-ARRAY 2.0d0 BESARR 2)
(CL-ARRAY BESARR))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST -0.016940739325064968d0 1.8993556609468549d-16) (LIST -0.016940739325064968d0 1.8993556609468549d-16)
(MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-Y0 4.0d0))) (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-Y0 4.0d0)))
...@@ -34,9 +35,10 @@ ...@@ -34,9 +35,10 @@
#(-0.6174081041906827d0 -1.127783776840428d0 #(-0.6174081041906827d0 -1.127783776840428d0
-2.7659432263306014d0 -9.935989128481978d0)) -2.7659432263306014d0 -9.935989128481978d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) (LET ((BESARR
(CYLINDRICAL-BESSEL-YN-ARRAY 2.0d0 BESARR 2) (MAKE-MARRAY 'DOUBLE-FLOAT :DIMENSIONS 4)))
(CL-ARRAY BESARR)))) (CYLINDRICAL-BESSEL-YN-ARRAY 2.0d0 BESARR 2)
(CL-ARRAY BESARR))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST 11.301921952136329d0 2.7297681442535893d-14) (LIST 11.301921952136329d0 2.7297681442535893d-14)
(MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-I0 4.0d0))) (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-I0 4.0d0)))
...@@ -51,9 +53,10 @@ ...@@ -51,9 +53,10 @@
#(0.6889484476987382d0 0.21273995923985267d0 #(0.6889484476987382d0 0.21273995923985267d0
0.05072856997918024d0 0.009825679323131702d0)) 0.05072856997918024d0 0.009825679323131702d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) (LET ((BESARR
(CYLINDRICAL-BESSEL-IN-ARRAY 2.0d0 BESARR 2) (MAKE-MARRAY 'DOUBLE-FLOAT :DIMENSIONS 4)))
(CL-ARRAY BESARR)))) (CYLINDRICAL-BESSEL-IN-ARRAY 2.0d0 BESARR 2)
(CL-ARRAY BESARR))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
(LIST 0.2070019212239867d0 2.241925168997723d-16) (LIST 0.2070019212239867d0 2.241925168997723d-16)
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
...@@ -71,10 +74,10 @@ ...@@ -71,10 +74,10 @@
#(0.09323903330473338d0 0.028791222639470898d0 #(0.09323903330473338d0 0.028791222639470898d0
0.006865365386320685d0 0.0013297610941881578d0)) 0.006865365386320685d0 0.0013297610941881578d0))
(MULTIPLE-VALUE-LIST (MULTIPLE-VALUE-LIST
(LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) (LET ((BESARR
(CYLINDRICAL-BESSEL-IN-SCALED-ARRAY 2.0d0 BESARR (MAKE-MARRAY 'DOUBLE-FLOAT :DIMENSIONS 4)))
2) (CYLINDRICAL-BESSEL-IN-SCALED-ARRAY 2.0d0 BESARR 2)
(CL-ARRAY BESARR)))) (CL-ARRAY BESARR))))
(LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL