diff --git a/chebyshev.lisp b/chebyshev.lisp index 78d99d8ea2247c72aebb7ba0f28976b8a88258cc..a3cd4905f4bd9bbfc6b8a0c75ad0dba55d622464 100644 --- a/chebyshev.lisp +++ b/chebyshev.lisp @@ -1,6 +1,6 @@ ;; Chebyshev Approximations ;; Liam Healy Sat Nov 17 2007 - 20:36 -;; Time-stamp: <2008-08-23 11:27:10EDT chebyshev.lisp> +;; Time-stamp: <2008-10-25 11:33:06EDT chebyshev.lisp> ;; $Id$ (in-package :gsl) @@ -123,16 +123,6 @@ (evaluate-chebyshev deriv x) (evaluate-chebyshev integ x)))) - -#| -(make-tests chebyshev +;;; Unit test +(save-test chebyshev (chebyshev-point-example 0.55d0)) -|# - -(LISP-UNIT:DEFINE-TEST CHEBYSHEV - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.7159209901689866d0 -1.5019966658054353d0 - 0.17239719403979925d0)) - (MULTIPLE-VALUE-LIST (CHEBYSHEV-POINT-EXAMPLE 0.55d0)))) - diff --git a/data/combination.lisp b/data/combination.lisp index 0de5c7cebbc68e2c1931b199cd149b9f31f91e59..33cb2aac412c9a723554f06decbdbffc76dabed8 100644 --- a/data/combination.lisp +++ b/data/combination.lisp @@ -1,6 +1,6 @@ ;; Combinations ;; Liam Healy, Sun Mar 26 2006 - 11:51 -;; Time-stamp: <2008-09-20 22:04:48EDT combination.lisp> +;; Time-stamp: <2008-10-25 19:05:36EDT combination.lisp> ;; $Id$ (in-package :gsl) @@ -172,8 +172,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests combination +(save-test combination (letm ((comb (combination '(4 2) t))) ; combination-range (combination-range comb)) (letm ((comb (combination '(4 2) t))) ; combination-size @@ -192,42 +191,3 @@ (init-first comb) (loop collect (copy-seq (cl-array comb)) while (combination-next comb))))) -|# - -(LISP-UNIT:DEFINE-TEST COMBINATION - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 4) - (MULTIPLE-VALUE-LIST - (LETM ((COMB (COMBINATION '(4 2) T))) - (COMBINATION-RANGE COMB)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2) - (MULTIPLE-VALUE-LIST - (LETM ((COMB (COMBINATION '(4 2) T))) - (COMBINATION-SIZE COMB)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST #(0 1) #(0 2) #(0 3) #(1 2) #(1 3) #(2 3))) - (MULTIPLE-VALUE-LIST - (LETM ((COMB (COMBINATION '(4 2) T))) - (INIT-FIRST COMB) - (LOOP COLLECT (COPY-SEQ (CL-ARRAY COMB)) WHILE - (COMBINATION-NEXT COMB))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST #(2 3) #(1 3) #(1 2) #(0 3) #(0 2) #(0 1))) - (MULTIPLE-VALUE-LIST - (LETM ((COMB (COMBINATION '(4 2) T))) (INIT-LAST COMB) - (LOOP COLLECT (COPY-SEQ (CL-ARRAY COMB)) WHILE - (COMBINATION-PREVIOUS COMB))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST #() #(0) #(1) #(2) #(3) #(0 1) #(0 2) #(0 3) - #(1 2) #(1 3) #(2 3) #(0 1 2) #(0 1 3) #(0 2 3) - #(1 2 3) #(0 1 2 3))) - (MULTIPLE-VALUE-LIST - (LOOP FOR I FROM 0 TO 4 APPEND - (LETM ((COMB (COMBINATION (LIST 4 I) T))) - (INIT-FIRST COMB) - (LOOP COLLECT (COPY-SEQ (CL-ARRAY COMB)) - WHILE (COMBINATION-NEXT COMB))))))) - - diff --git a/data/permutation.lisp b/data/permutation.lisp index 139d012fd3e2d671c502f069a3483b7028f06656..3607fe2b7fa12a3d8de9833e96f926c8f5f23931 100644 --- a/data/permutation.lisp +++ b/data/permutation.lisp @@ -1,6 +1,6 @@ ;; Permutations ;; Liam Healy, Sun Mar 26 2006 - 11:51 -;; Time-stamp: <2008-09-20 21:59:49EDT permutation.lisp> +;; Time-stamp: <2008-10-25 18:52:27EDT permutation.lisp> ;; $Id$ (in-package :gsl) @@ -263,8 +263,7 @@ (loop collect (copy-seq (cl-array perm)) while (permutation-previous perm)))) -#| -(make-tests +(save-test permutation (letm ((perm-1 (permutation 4 t))) ;maref (set-identity perm-1) @@ -307,77 +306,3 @@ (swap-elements perm-1 1 3) (swap-elements perm-1 0 2) (canonical-cycles perm-1))) -|# - -(LISP-UNIT:DEFINE-TEST PERMUTATION - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (MAREF PERM-1 2)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(0 1 2 3)) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (CL-ARRAY PERM-1)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(3 2 1 0)) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY - PERM-1) - (CL-ARRAY (PERMUTATION-REVERSE PERM-1))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(0 3 1 2)) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T)) - (PERM-2 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (PERMUTATION-NEXT PERM-1) - (PERMUTATION-NEXT PERM-1) - (PERMUTATION-NEXT PERM-1) - (PERMUTATION-INVERSE PERM-2 PERM-1) - (CL-ARRAY PERM-2)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(0 3 2 1)) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (SWAP-ELEMENTS PERM-1 1 3) - (CL-ARRAY PERM-1)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(33 44 11 22)) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T)) - (INTVEC (VECTOR-SIGNED-BYTE-32 - (A 11 22 33 44)))) - (SET-IDENTITY PERM-1) - (SWAP-ELEMENTS PERM-1 1 3) - (SWAP-ELEMENTS PERM-1 0 2) - (PERMUTE-VECTOR PERM-1 INTVEC) - (CL-ARRAY INTVEC)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (SWAP-ELEMENTS PERM-1 1 3) - (INVERSIONS PERM-1)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (SWAP-ELEMENTS PERM-1 1 3) - (LINEAR-CYCLES PERM-1)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2) - (MULTIPLE-VALUE-LIST - (LETM ((PERM-1 (PERMUTATION 4 T))) - (SET-IDENTITY PERM-1) - (SWAP-ELEMENTS PERM-1 1 3) - (SWAP-ELEMENTS PERM-1 0 2) - (CANONICAL-CYCLES PERM-1))))) - diff --git a/documentation/documentation.html b/documentation/documentation.html index b843aa8f78c19db6f9faa922448d18a4f7b6f76d..7ce4848b74471ae760e19f448bb4624766c52275 100644 --- a/documentation/documentation.html +++ b/documentation/documentation.html @@ -39,10 +39,11 @@ to find that the Lisp function name is <code>#'jacobian-elliptic-functions</code </pre> to get an explanation of the arguments etc. </li> - <li>Look at the end of the Lisp source file, or in an "example" file - in the same directory, for examples. Often, the examples are placed - in a <code>make-tests</code> form (which will be commented out with - a #| |# block). If the + <li>Use the function <code>(examples)</code> to get a list of example + categories. Then use the function with a category name as the + argument to get a list of examples under that category, for + example + <code>(examples 'higher-moments)</code>. If the <a href="http://www.gnu.org/software/gsl/manual/">GSL documentation</a> provides an example, there will usually be the same or similar example provided in GSLL.</li> @@ -200,7 +201,7 @@ gamma-randist, negative-binomial. <address><a href="mailto:gsll-devel@common-lisp.net">Liam Healy</a></address> <!-- hhmts start --> <small> - Time-stamp: <2008-09-21 15:37:13EDT documentation.html> + Time-stamp: <2008-10-25 18:59:39EDT documentation.html> </small> <!-- hhmts end --> </div> diff --git a/eigensystems.lisp b/eigensystems.lisp index 415da6af5b702279a34f86775343571882f9fa02..7a2ed5fa2b91fbf6576b837deba8772688b82482 100644 --- a/eigensystems.lisp +++ b/eigensystems.lisp @@ -1,6 +1,6 @@ ;; Eigenvectors and eigenvalues ;; Liam Healy, Sun May 21 2006 - 19:52 -;; Time-stamp: <2008-08-14 22:48:02EDT eigensystems.lisp> +;; Time-stamp: <2008-10-25 11:34:13EDT eigensystems.lisp> ;; $Id$ (in-package :gsl) @@ -168,17 +168,6 @@ (eigenvalues-eigenvectors mat evals evecs ws) (values (cl-array evals) (cl-array evecs)))) -#| -(make-tests eigensystems - (eigenvalue-eigenvectors-example)) -|# - -(LISP-UNIT:DEFINE-TEST EIGENSYSTEMS - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - #(13.819660112501051d0 36.180339887498945d0 40.0d0) - #2A((0.8506508083520399d0 -0.5257311121191337d0 0.0d0) - (0.5257311121191337d0 0.8506508083520399d0 0.0d0) - (0.0d0 0.0d0 1.0d0))) - (MULTIPLE-VALUE-LIST - (EIGENVALUE-EIGENVECTORS-EXAMPLE)))) +(save-test eigensystems + (eigenvalue-eigenvectors-example)) + diff --git a/histogram/updating-accessing.lisp b/histogram/updating-accessing.lisp index 1b6cffe2ff7012dd014bf310be1e49d0b9e3f4cd..7905b703fe50319a48144f884fde4d8d75fa8359 100644 --- a/histogram/updating-accessing.lisp +++ b/histogram/updating-accessing.lisp @@ -1,6 +1,6 @@ ;; Updating and accessing histogram elements. ;; Liam Healy, Mon Jan 1 2007 - 14:43 -;; Time-stamp: <2008-09-14 22:04:40EDT updating-accessing.lisp> +;; Time-stamp: <2008-10-25 18:24:41EDT updating-accessing.lisp> ;; $Id$ (in-package :gsl) @@ -99,8 +99,7 @@ |# ;;; Examples and unit test -#| -(make-tests histogram +(save-test histogram ;; The first one gives a warning while compiling in SBCL, ;; should only give a warning while runnin. (letm ((histo (histogram 10))) @@ -141,67 +140,3 @@ (increment histo 2.7d0) (increment histo 6.9d0 2.0d0) (histogram-find histo 5.5d0))) -|# - -(LISP-UNIT:DEFINE-TEST HISTOGRAM - (LISP-UNIT:ASSERT-ERROR - 'GSL-CONDITION - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO -2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.0d0) - (MULTIPLE-VALUE-LIST - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (MAREF HISTO 1)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0d0) - (MULTIPLE-VALUE-LIST - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (MAREF HISTO 2)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.0d0) - (MULTIPLE-VALUE-LIST - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (MAREF HISTO 6)))) - (LISP-UNIT:ASSERT-ERROR - 'GSL-CONDITION - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (MAREF HISTO 16))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.0d0 10.0d0) - (MULTIPLE-VALUE-LIST - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (VALUES (MIN-RANGE HISTO) - (MAX-RANGE HISTO))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 10) - (MULTIPLE-VALUE-LIST - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (BINS HISTO)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 5) - (MULTIPLE-VALUE-LIST - (LETM ((HISTO (HISTOGRAM 10))) - (SET-RANGES-UNIFORM HISTO 0.0d0 10.0d0) - (INCREMENT HISTO 2.7d0) - (INCREMENT HISTO 6.9d0 2.0d0) - (HISTOGRAM-FIND HISTO 5.5d0))))) diff --git a/init/generate-tests.lisp b/init/generate-tests.lisp index 5ddc6d8094932cbcb38f126500f1690075573d59..6d52c47280bb148fbbe5407c0ac73780f5748d0a 100644 --- a/init/generate-tests.lisp +++ b/init/generate-tests.lisp @@ -1,10 +1,12 @@ ;; Make tests and examples ;; Liam Healy 2008-09-07 21:00:48EDT generate-tests.lisp -;; Time-stamp: <2008-10-21 22:40:41EDT generate-tests.lisp> +;; Time-stamp: <2008-10-25 19:06:40EDT generate-tests.lisp> ;; $Id: $ (in-package :gsl) +(export 'examples) + ;;;;**************************************************************************** ;;;; Data pool ;;;;**************************************************************************** @@ -26,12 +28,8 @@ ,(numerical-serialize vals) (multiple-value-list ,form))))) -(defmacro make-tests (name &rest forms) - (append - `(lisp-unit:define-test ,name) - (mapcar #'make-test forms))) - (defparameter *all-generated-tests* nil) + (defmacro save-test (name &rest forms) "Save the test with the given name." `(setf @@ -42,6 +40,15 @@ (getf *all-generated-tests* ',name)) :test #'equal))) +(defun examples (&optional name) + "If no argument is supplied, list the names of the example categories. + If a category name is given as the argument, give the list of examples + in that category." + (if name + (getf *all-generated-tests* name) + (loop for (key value) on *all-generated-tests* by #'cddr + collect key))) + (defun create-test (test-name) "Find the saved test by name and create it, with the generated results." (append @@ -86,10 +93,6 @@ (format t "Writing test ~a to file~&" test-name) (format stream "~s~%~%" (create-test test-name))))) -(defmacro make-tests (name &rest forms) - (append - `(lisp-unit:define-test ,name) - (mapcar #'make-test forms))) |# ;;;;**************************************************************************** diff --git a/linear-algebra/blas1.lisp b/linear-algebra/blas1.lisp index b0eed3c3943aaccb33e9973f9e73718afd96fd6f..d4ec608b9a2b3fc10deebe4ea07cf00082086178 100644 --- a/linear-algebra/blas1.lisp +++ b/linear-algebra/blas1.lisp @@ -1,6 +1,6 @@ ;; BLAS level 1, Vector operations ;; Liam Healy, Wed Apr 26 2006 - 15:23 -;; Time-stamp: <2008-08-31 15:12:31EDT blas1.lisp> +;; Time-stamp: <2008-10-25 18:41:45EDT blas1.lisp> ;; $Id$ (in-package :gsl) @@ -182,67 +182,58 @@ ;;;;**************************************************************************** #| -;;; Before expanding, set -;;; (setf *read-default-float-format* 'double-float) -(make-tests blas1-single +(save-test blas1-single ;; single - (letm ((a (vector-single-float #(1.0f0 2.0f0 3.0f0))) - (b (vector-single-float #(3.0f0 4.0f0 5.0f0)))) + (letm ((a (vector-single-float (a 1.0f0 2.0f0 3.0f0))) + (b (vector-single-float (a 3.0f0 4.0f0 5.0f0)))) (dot a b)) - (letm ((b (vector-single-float #(3.0f0 4.0f0 5.0f0)))) + (letm ((b (vector-single-float (a 3.0f0 4.0f0 5.0f0)))) (euclidean-norm b)) - (letm ((b (vector-single-float #(3.0f0 4.0f0 5.0f0)))) - (asum b)) - (letm ((b (vector-single-float #(3.0f0 5.0f0 4.0f0)))) - (imax b)) - (letm ((a (vector-single-float #(1.0f0 2.0f0 3.0f0))) - (b (vector-single-float #(3.0f0 4.0f0 5.0f0)))) - (setf (data a) #(1.0f0 2.0f0 3.0f0) - (data b) #(3.0f0 4.0f0 5.0f0)) - (axpy 2.0f0 a b) - (data b)) - (letm ((b (vector-single-float #(3.0f0 4.0f0 5.0f0)))) - (setf (data b) #(3.0f0 4.0f0 5.0f0)) - (scal 2.0f0 b) - (data b)) + (letm ((b (vector-single-float (a 3.0f0 4.0f0 5.0f0)))) + (absolute-sum b)) + (letm ((b (vector-single-float (a 3.0f0 5.0f0 4.0f0)))) + (index-max b)) + (letm ((a (vector-single-float (a 1.0f0 2.0f0 3.0f0))) + (b (vector-single-float (a 3.0f0 4.0f0 5.0f0)))) + (axpy 2.0f0 a b) + (cl-array b)) + (letm ((b (vector-single-float (a 3.0f0 4.0f0 5.0f0)))) + (scale 2.0f0 b) + (cl-array b)) (letm ((a (vector-single-float #(1.0f0 3.0f0))) - (b (vector-single-float #(8.0f0 9.0f0)))) - (rot a b (/ (sqrt 2.0f0)) (/ (sqrt 2.0f0))) - (data b))) + (b (vector-single-float #(8.0f0 9.0f0)))) + (givens-rotation a b (/ (sqrt 2.0f0)) (/ (sqrt 2.0f0))) + (cl-array b))) -;;; Before expanding, set -;;; (setf *read-default-float-format* 'single-float) -(make-tests blas1-double - (letm ((a (vector-double-float #(1.0d0 2.0d0 3.0d0))) - (b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) +(save-test blas1-double + (letm ((a (vector-double-float (a 1.0d0 2.0d0 3.0d0))) + (b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) (dot a b)) - (letm ((b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) + (letm ((b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) (euclidean-norm b)) - (letm ((b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) - (setf (data b) #(3.0d0 4.0d0 5.0d0)) - (asum b)) - (letm ((b (vector-double-float #(3.0d0 5.0d0 4.0d0)))) - (setf (data b) #(3.0d0 5.0d0 4.0d0)) - (imax b)) - (letm ((a (vector-double-float #(1.0d0 2.0d0 3.0d0))) - (b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) + (letm ((b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) + (absolute-sum b)) + (letm ((b (vector-double-float (a 3.0d0 5.0d0 4.0d0)))) + (index-max b)) + (letm ((a (vector-double-float (a 1.0d0 2.0d0 3.0d0))) + (b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) (blas-swap a b) - (data a)) - (letm ((a (vector-double-float #(1.0d0 2.0d0 3.0d0))) - (b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) + (cl-array a)) + (letm ((a (vector-double-float (a 1.0d0 2.0d0 3.0d0))) + (b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) (blas-copy b a) - (data a)) - (letm ((a (vector-double-float #(1.0d0 2.0d0 3.0d0))) - (b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) + (cl-array a)) + (letm ((a (vector-double-float (a 1.0d0 2.0d0 3.0d0))) + (b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) (axpy 2.0d0 a b) - (data b)) - (letm ((b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) - (scal 2.0d0 b) - (data b)) - (letm ((a (vector-double-float #(1.0d0 3.0d0))) - (b (vector-double-float #(8.0d0 9.0d0)))) - (rot a b (/ (sqrt 2.0d0)) (/ (sqrt 2.0d0))) - (data b))) + (cl-array b)) + (letm ((b (vector-double-float (a 3.0d0 4.0d0 5.0d0)))) + (scale 2.0d0 b) + (cl-array b)) + (letm ((a (vector-double-float (a 1.0d0 3.0d0))) + (b (vector-double-float (a 8.0d0 9.0d0)))) + (givens-rotation a b (/ (sqrt 2.0d0)) (/ (sqrt 2.0d0))) + (cl-array b))) (LISP-UNIT:DEFINE-TEST BLAS1-SINGLE (LISP-UNIT::ASSERT-NUMERICAL-EQUAL @@ -348,4 +339,3 @@ (ROT A B (/ (SQRT 2.0d0)) (/ (SQRT 2.0d0))) (DATA B))))) |# - diff --git a/linear-algebra/lu.lisp b/linear-algebra/lu.lisp index f83883021fbe9634b68e37f06458081e1571ed91..4581bda281b7d313c4e469741b5bdc9823992909 100644 --- a/linear-algebra/lu.lisp +++ b/linear-algebra/lu.lisp @@ -1,6 +1,6 @@ ;; LU decomposition ;; Liam Healy, Thu Apr 27 2006 - 12:42 -;; Time-stamp: <2008-09-21 15:25:09EDT lu.lisp> +;; Time-stamp: <2008-10-25 18:24:40EDT lu.lisp> ;; $Id$ (in-package :gsl) @@ -144,18 +144,6 @@ (lu-invert mmat per inv) (cl-array inv))) -#| -(make-tests lu - (invert-matrix - (make-array* '(2 2) 'double-float :initial-contents '(1.0d0 2.0d0 3.0d0 4.0d0)))) -|# - -(LISP-UNIT:DEFINE-TEST LU - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - #2A((-1.9999999999999998 1.0) - (1.4999999999999998 -0.49999999999999994))) - (MULTIPLE-VALUE-LIST - (INVERT-MATRIX - (MAKE-ARRAY* '(2 2) 'DOUBLE-FLOAT :INITIAL-CONTENTS - '(1.0 2.0 3.0 4.0)))))) +(save-test lu + (invert-matrix + (make-array* '(2 2) 'double-float :initial-contents '(1.0d0 2.0d0 3.0d0 4.0d0)))) diff --git a/mathematical.lisp b/mathematical.lisp index 6d1a6017b82a91bf1b1c02dd612d6cec05d4410b..264331e8ba7b3173851b5269342b704e725887c6 100644 --- a/mathematical.lisp +++ b/mathematical.lisp @@ -1,6 +1,6 @@ ;; Mathematical functions ;; Liam Healy, Wed Mar 8 2006 - 22:09 -;; Time-stamp: <2008-02-17 09:13:19EST mathematical.lisp> +;; Time-stamp: <2008-10-25 19:09:09EDT mathematical.lisp> ;; $Id$ (in-package :gsl) @@ -180,27 +180,18 @@ Function: double gsl_pow_9 (const double x) ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests mathematical +(save-test mathematical (log+1 0.001d0) (exp-1 0.001d0) (hypotenuse 3.0d0 4.0d0)) -|# +#| +;;; I would like to add (lisp-unit:define-test mathematical (lisp-unit:assert-true (nanp +nan+)) (lisp-unit:assert-false (nanp 1.0d0)) (lisp-unit:assert-true (finitep 1.0d0)) (lisp-unit:assert-false (infinityp 1.0d0)) (lisp-unit:assert-eq 1 (infinityp +positive-infinity+)) - (lisp-unit:assert-false (finitep +positive-infinity+)) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 9.995003330835331d-4) - (MULTIPLE-VALUE-LIST (LOG+1 0.001d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.0010005001667083417d0) - (MULTIPLE-VALUE-LIST (EXP-1 0.001d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 5.0d0 2.220446049250313d-15) - (MULTIPLE-VALUE-LIST (HYPOTENUSE 3.0d0 4.0d0))) - (lisp-unit:assert-false (double-float-unequal 1.0d0 1.0d0 0.001d0))) + (lisp-unit:assert-false (finitep +positive-infinity+))) +|# diff --git a/monte-carlo.lisp b/monte-carlo.lisp index 674a48c7b7114e4cbd6e04a07ce7dfe7bf42c3eb..201432eeef5474f9cf89b8c4c375dd0982c9c734 100644 --- a/monte-carlo.lisp +++ b/monte-carlo.lisp @@ -1,6 +1,6 @@ ;; Monte Carlo Integration ;; Liam Healy Sat Feb 3 2007 - 17:42 -;; Time-stamp: <2008-08-21 21:58:28EDT monte-carlo.lisp> +;; Time-stamp: <2008-10-25 11:44:35EDT monte-carlo.lisp> ;; $Id$ (in-package :gsl) @@ -313,21 +313,9 @@ (rng (random-number-generator *mt19937* 0))) (monte-carlo-integrate-vegas monte-carlo-g lower upper nsamples rng ws))) -#| -(make-tests monte-carlo +(save-test monte-carlo (random-walk-plain-example) (random-walk-miser-example) (random-walk-vegas-example)) -|# - -(LISP-UNIT:DEFINE-TEST MONTE-CARLO - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.4122087033540667d0 0.013435861456267064d0) - (MULTIPLE-VALUE-LIST (RANDOM-WALK-PLAIN-EXAMPLE))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.3895297058825096d0 0.0050106269732269415d0) - (MULTIPLE-VALUE-LIST (RANDOM-WALK-MISER-EXAMPLE))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.3931632739551914d0 1.4981164744582692d-4) - (MULTIPLE-VALUE-LIST (RANDOM-WALK-VEGAS-EXAMPLE)))) + diff --git a/numerical-differentiation.lisp b/numerical-differentiation.lisp index f36d4bcd0084c5529fcf0b1dd3954b515c730da8..2b248a9b96268f78d22644ee13118c32e5ecd289 100644 --- a/numerical-differentiation.lisp +++ b/numerical-differentiation.lisp @@ -1,6 +1,6 @@ ;; Numerical differentiation. ;; Liam Healy Mon Nov 12 2007 - 22:07 -;; Time-stamp: <2008-09-20 18:23:28EDT numerical-differentiation.lisp> +;; Time-stamp: <2008-10-25 12:00:36EDT numerical-differentiation.lisp> ;; $Id$ (in-package :gsl) @@ -102,27 +102,25 @@ (forward-derivative deriv-f6 10.0d0 1.0d-4) (backward-derivative deriv-f6 10.0d0 1.0d-4) -#| -(make-tests numerical-differentiation - (central-derivative deriv-f1 1.0d0 1.0d-4) - (forward-derivative deriv-f1 1.0d0 1.0d-4) - (backward-derivative deriv-f1 1.0d0 1.0d-4) - (central-derivative deriv-f2 0.1d0 1.0d-4) - (forward-derivative deriv-f2 0.1d0 1.0d-4) - (backward-derivative deriv-f2 0.1d0 1.0d-4) - (central-derivative deriv-f3 0.45d0 1.0d-4) - (forward-derivative deriv-f3 0.45d0 1.0d-4) - (backward-derivative deriv-f3 0.45d0 1.0d-4) - (central-derivative deriv-f4 0.5d0 1.0d-4) - (forward-derivative deriv-f4 0.5d0 1.0d-4) - (backward-derivative deriv-f4 0.5d0 1.0d-4) - (central-derivative deriv-f5 0.0d0 1.0d-4) - (forward-derivative deriv-f5 0.0d0 1.0d-4) - (backward-derivative deriv-f5 0.0d0 1.0d-4) - (central-derivative deriv-f6 10.0d0 1.0d-4) - (forward-derivative deriv-f6 10.0d0 1.0d-4) - (backward-derivative deriv-f6 10.0d0 1.0d-4)) -|# +(save-test numerical-differentiation + (central-derivative deriv-f1 1.0d0 1.0d-4) + (forward-derivative deriv-f1 1.0d0 1.0d-4) + (backward-derivative deriv-f1 1.0d0 1.0d-4) + (central-derivative deriv-f2 0.1d0 1.0d-4) + (forward-derivative deriv-f2 0.1d0 1.0d-4) + (backward-derivative deriv-f2 0.1d0 1.0d-4) + (central-derivative deriv-f3 0.45d0 1.0d-4) + (forward-derivative deriv-f3 0.45d0 1.0d-4) + (backward-derivative deriv-f3 0.45d0 1.0d-4) + (central-derivative deriv-f4 0.5d0 1.0d-4) + (forward-derivative deriv-f4 0.5d0 1.0d-4) + (backward-derivative deriv-f4 0.5d0 1.0d-4) + (central-derivative deriv-f5 0.0d0 1.0d-4) + (forward-derivative deriv-f5 0.0d0 1.0d-4) + (backward-derivative deriv-f5 0.0d0 1.0d-4) + (central-derivative deriv-f6 10.0d0 1.0d-4) + (forward-derivative deriv-f6 10.0d0 1.0d-4) + (backward-derivative deriv-f6 10.0d0 1.0d-4)) (LISP-UNIT:DEFINE-TEST NUMERICAL-DIFFERENTIATION (LISP-UNIT::ASSERT-NUMERICAL-EQUAL diff --git a/numerical-integration.lisp b/numerical-integration.lisp index b2e163190c468e48ed4b76b2a309d0affbd2d583..f1b755e02015c3983a5ed91bfc6e830c30caf2c6 100644 --- a/numerical-integration.lisp +++ b/numerical-integration.lisp @@ -1,6 +1,6 @@ ;; Numerical integration ;; Liam Healy, Wed Jul 5 2006 - 23:14 -;; Time-stamp: <2008-09-16 22:43:59EDT numerical-integration.lisp> +;; Time-stamp: <2008-10-25 11:35:53EDT numerical-integration.lisp> ;; $Id$ ;;; To do: QAWS, QAWO, QAWF, more tests @@ -226,28 +226,10 @@ (defun-single two-sine (x) (sin (* mult x)))) |# -#| -(make-tests numerical-integration +(save-test numerical-integration (integration-qng one-sine 0.0d0 pi) (letm ((ws (integration-workspace 20))) (integration-QAG one-sine 0.0d0 pi :gauss15 20 ws)) (letm ((ws (integration-workspace 20))) (integration-QAG one-sine 0.0d0 pi :gauss15 50 ws))) -|# - -(LISP-UNIT:DEFINE-TEST NUMERICAL-INTEGRATION - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.0d0 2.220446049250313d-14 21) - (MULTIPLE-VALUE-LIST - (INTEGRATION-QNG ONE-SINE 0.0d0 PI))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.0d0 2.220446049250313d-14) - (MULTIPLE-VALUE-LIST - (LETM ((WS (INTEGRATION-WORKSPACE 20))) - (INTEGRATION-QAG ONE-SINE 0.0d0 PI :GAUSS15 20 - WS)))) - (LISP-UNIT:ASSERT-ERROR - 'GSL-CONDITION - (LETM ((WS (INTEGRATION-WORKSPACE 20))) - (INTEGRATION-QAG ONE-SINE 0.0d0 PI :GAUSS15 50 WS)))) diff --git a/polynomial.lisp b/polynomial.lisp index 41bde745b8c5bb0ae4394fb99bfc731adad69ef8..97e93abae009eb29c769441914de84569555c6e9 100644 --- a/polynomial.lisp +++ b/polynomial.lisp @@ -1,6 +1,6 @@ ;; Polynomials ;; Liam Healy, Tue Mar 21 2006 - 18:33 -;; Time-stamp: <2008-09-14 22:01:10EDT polynomial.lisp> +;; Time-stamp: <2008-10-25 11:47:01EDT polynomial.lisp> ;; $Id$ (in-package :gsl) @@ -171,8 +171,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests polynomial +(save-test polynomial (letm ((xa (vector-double-float (a 0.0d0 1.0d0 2.0d0 3.0d0))) (ya (vector-double-float (a 2.5d0 7.2d0 32.7d0 91.0d0))) (dd (vector-double-float 4))) @@ -191,55 +190,4 @@ (solve-cubic-complex -1.0d0 1.0d0 -1.0d0) ;; Example from GSL manual (polynomial-solve (a double-float -1.0d0 0.0d0 0.0d0 0.0d0 0.0d0 1.0d0))) -|# - -(LISP-UNIT:DEFINE-TEST POLYNOMIAL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 2.5d0 7.2d0 32.7d0 91.0d0)) - (MULTIPLE-VALUE-LIST - (LETM - ((XA (VECTOR-DOUBLE-FLOAT (A 0.0d0 1.0d0 2.0d0 3.0d0))) - (YA (VECTOR-DOUBLE-FLOAT (A 2.5d0 7.2d0 32.7d0 91.0d0))) - (DD (VECTOR-DOUBLE-FLOAT 4))) - (DIVIDED-DIFFERENCE DD XA YA) - (LIST - (POLYNOMIAL-EVAL-DIVIDED-DIFFERENCE DD XA 0.0d0) - (POLYNOMIAL-EVAL-DIVIDED-DIFFERENCE DD XA 1.0d0) - (POLYNOMIAL-EVAL-DIVIDED-DIFFERENCE DD XA 2.0d0) - (POLYNOMIAL-EVAL-DIVIDED-DIFFERENCE DD XA 3.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.0d0) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A 1.0d0 2.0d0 3.0d0)))) - (POLYNOMIAL-EVAL VEC -1.0d0)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST) (LIST)) - (MULTIPLE-VALUE-LIST - (SOLVE-QUADRATIC 1.0d0 0.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0d0 1.0d0) - (MULTIPLE-VALUE-LIST (SOLVE-QUADRATIC 1.0d0 -2.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(1.0d0 0.0d0) #C(1.0d0 0.0d0)) - (MULTIPLE-VALUE-LIST - (SOLVE-QUADRATIC-COMPLEX 1.0d0 -2.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -3.000000000000001d0 1.9999999999999996d0 - 7.000000000000001d0) - (MULTIPLE-VALUE-LIST - (SOLVE-CUBIC -6.0d0 -13.0d0 42.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(-5.551115123125783d-17 -0.9999999999999999d0) - #C(-5.551115123125783d-17 0.9999999999999999d0) - #C(1.0d0 0.0d0)) - (MULTIPLE-VALUE-LIST - (SOLVE-CUBIC-COMPLEX -1.0d0 1.0d0 -1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(-0.8090169943749477d0 0.5877852522924734d0) - #C(-0.8090169943749477d0 -0.5877852522924734d0) - #C(0.3090169943749475d0 0.951056516295153d0) - #C(0.3090169943749475d0 -0.951056516295153d0) - #C(0.9999999999999999d0 0.0d0)) - (MULTIPLE-VALUE-LIST - (POLYNOMIAL-SOLVE - (A DOUBLE-FLOAT -1.0d0 0.0d0 0.0d0 0.0d0 0.0d0 1.0d0))))) + diff --git a/random/bernoulli.lisp b/random/bernoulli.lisp index f9462dc1b29c716463ae7b46663ee42fa526634a..37eca427f46588f29ffeca694b44d4ab37c3b78e 100644 --- a/random/bernoulli.lisp +++ b/random/bernoulli.lisp @@ -1,6 +1,6 @@ ;; Bernoulli distribution ;; Liam Healy, Sat Nov 25 2006 - 16:59 -;; Time-stamp: <2008-02-17 13:39:15EST bernoulli.lisp> +;; Time-stamp: <2008-10-25 12:08:06EDT bernoulli.lisp> ;; $Id$ (in-package :gsl) @@ -25,23 +25,11 @@ p, using the formula given in #'bernoulli.") ;;; Examples and unit test -#| -(make-tests bernoulli +(save-test bernoulli (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (bernoulli rng 0.5d0))) (bernoulli-pdf 0 0.5d0)) -|# - -(LISP-UNIT:DEFINE-TEST BERNOULLI - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 0 1 1 0 1 1 0 0 0 0 0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (BERNOULLI RNG 0.5d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5d0) - (MULTIPLE-VALUE-LIST (BERNOULLI-PDF 0 0.5d0)))) +b diff --git a/random/beta.lisp b/random/beta.lisp index 21efdd302783eab512672026c9d74efe14212af5..4122cfb2f50131c6adcc5cb44c3cafb77f54ab7f 100644 --- a/random/beta.lisp +++ b/random/beta.lisp @@ -1,6 +1,6 @@ ;; Beta distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-09-20 21:20:32EDT beta.lisp> +;; Time-stamp: <2008-10-25 12:08:05EDT beta.lisp> ;; $Id$ (in-package :gsl) @@ -52,8 +52,7 @@ Q(x) for the beta distribution with parameters a and b.") ;;; Examples and unit test -#| -(make-tests beta +(save-test beta (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -63,35 +62,6 @@ (beta-Q 0.1d0 1.0d0 2.0d0) (beta-Pinv 0.19d0 1.0d0 2.0d0) (beta-Qinv 0.81d0 1.0d0 2.0d0)) -|# -(LISP-UNIT:DEFINE-TEST BETA - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.3935474359990073 0.7063621551518341 - 0.044515648447265056 0.09286083229785232 - 0.210544366728104 0.010114317425185686 - 0.4595767375719009 0.1515157002550483 - 0.1731331145031117 0.4270743075655188 - 0.3353314142479658)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (BETA-RD RNG 1.0 2.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.8000000000000016) - (MULTIPLE-VALUE-LIST (BETA-PDF 0.1 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.19000000000000017) - (MULTIPLE-VALUE-LIST (BETA-P 0.1 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8099999999999998) - (MULTIPLE-VALUE-LIST (BETA-Q 0.1 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.09999999999999992) - (MULTIPLE-VALUE-LIST (BETA-PINV 0.19 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.09999999999999988) - (MULTIPLE-VALUE-LIST (BETA-QINV 0.81 1.0 2.0)))) diff --git a/random/binomial.lisp b/random/binomial.lisp index 305a66b1aa7ba5892def64ea0297b293d2a3577d..a949266d2a951647b360a03805140f1d18d2083b 100644 --- a/random/binomial.lisp +++ b/random/binomial.lisp @@ -1,6 +1,6 @@ ;; Binomial distribution ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-02-17 13:46:01EST binomial.lisp> +;; Time-stamp: <2008-10-25 12:09:46EDT binomial.lisp> ;; $Id$ (in-package :gsl) @@ -40,8 +40,7 @@ with parameters p and n.") ;;; Examples and unit test -#| -(make-tests binomial +(save-test binomial (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -49,22 +48,5 @@ (binomial-pdf 5 0.4d0 12) (binomial-P 5 0.4d0 12) (binomial-Q 5 0.4d0 12)) -|# -(LISP-UNIT:DEFINE-TEST BINOMIAL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 11 3 4 8 4 5 8 6 5 6 6)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (BINOMIAL RNG 0.4d0 12))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.22703033548799986d0) - (MULTIPLE-VALUE-LIST (BINOMIAL-PDF 5 0.4d0 12))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6652085575680018d0) - (MULTIPLE-VALUE-LIST (BINOMIAL-P 5 0.4d0 12))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.33479144243199815d0) - (MULTIPLE-VALUE-LIST (BINOMIAL-Q 5 0.4d0 12)))) diff --git a/random/cauchy.lisp b/random/cauchy.lisp index fbf661fc451a4964d1ee4623dba60c9d99cd901e..4a40c88e4dfdcc5513a465b9e857921b05d51910 100644 --- a/random/cauchy.lisp +++ b/random/cauchy.lisp @@ -1,6 +1,6 @@ ;; Cauchy distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 12:55:30EST cauchy.lisp> +;; Time-stamp: <2008-10-25 12:13:41EDT cauchy.lisp> ;; $Id$ (in-package :gsl) @@ -54,8 +54,7 @@ Q(x) for the Cauchy distribution with scale parameter a.") ;;; Examples and unit test -#| -(make-tests cauchy +(save-test cauchy (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -65,35 +64,4 @@ (cauchy-Q 1.0d0 2.0d0) (cauchy-Pinv 0.6475836176504333d0 2.0d0) (cauchy-Qinv 0.35241638234956674d0 2.0d0)) -|# -(LISP-UNIT:DEFINE-TEST CAUCHY - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST -0.00811319915595434d0 5.617196410586812d0 - 12.292369828923075d0 -1.6741088357812182d0 - 8.909104486260928d0 211.6765861544609d0 - -1.3439049184367153d0 -10.364363282910663d0 - -79.0709314248171d0 -10.652071087998578d0 - -9.393948243493877d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (CAUCHY RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.03183098861837907d0) - (MULTIPLE-VALUE-LIST (CAUCHY-PDF 0.0d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6475836176504333d0) - (MULTIPLE-VALUE-LIST (CAUCHY-P 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.35241638234956674d0) - (MULTIPLE-VALUE-LIST (CAUCHY-Q 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.9999999999999998d0) - (MULTIPLE-VALUE-LIST - (CAUCHY-PINV 0.6475836176504333d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0000000000000002d0) - (MULTIPLE-VALUE-LIST - (CAUCHY-QINV 0.35241638234956674d0 2.0d0)))) diff --git a/random/chi-squared.lisp b/random/chi-squared.lisp index 0e34fe6b3e1b7e1c39c357432d65350b42796942..4e812a18d734c47c90e517798bd04ba922fb6588 100644 --- a/random/chi-squared.lisp +++ b/random/chi-squared.lisp @@ -1,6 +1,6 @@ ;; Chi-squared distribution ;; Liam Healy, Sat Oct 7 2006 - 16:13 -;; Time-stamp: <2008-09-20 21:23:34EDT chi-squared.lisp> +;; Time-stamp: <2008-10-25 12:13:41EDT chi-squared.lisp> ;; $Id$ (in-package :gsl) @@ -52,8 +52,7 @@ Q(x) for the chi-squared distribution with nu degrees of freedom.") ;;; Examples and unit test -#| -(make-tests chi-squared +(save-test chi-squared (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -63,37 +62,6 @@ (chi-squared-Q 0.5d0 1.0d0) (chi-squared-Pinv 0.5204998778130463d0 1.0d0) (chi-squared-Qinv 0.4795001221869537d0 1.0d0)) -|# -(LISP-UNIT:DEFINE-TEST CHI-SQUARED - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 13.043328884186328 11.427227829236712 - 16.55811815484942 7.128795406995407 - 5.120266499239882 10.464572605669142 - 5.8126929867006405 8.784940866479005 - 7.559275305609187 8.35181083950897 - 4.140798004825149)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (CHI-SQUARED RNG 10.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.43939128946772227) - (MULTIPLE-VALUE-LIST (CHI-SQUARED-PDF 0.5 1.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5204998778130462) - (MULTIPLE-VALUE-LIST (CHI-SQUARED-P 0.5 1.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.4795001221869538) - (MULTIPLE-VALUE-LIST (CHI-SQUARED-Q 0.5 1.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5000000000000003) - (MULTIPLE-VALUE-LIST - (CHI-SQUARED-PINV 0.5204998778130463 1.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5000000000000003) - (MULTIPLE-VALUE-LIST - (CHI-SQUARED-QINV 0.4795001221869537 1.0)))) diff --git a/random/dirichlet.lisp b/random/dirichlet.lisp index 492539651b6475d0fc470f7081677ef4caefa762..c77e6b547ce36857e100cd73a4df84b70fea5f6a 100644 --- a/random/dirichlet.lisp +++ b/random/dirichlet.lisp @@ -1,6 +1,6 @@ ;; Dirichlet distribution ;; Liam Healy, Sun Oct 29 2006 -;; Time-stamp: <2008-09-20 21:24:25EDT dirichlet.lisp> +;; Time-stamp: <2008-10-25 12:13:42EDT dirichlet.lisp> ;; $Id$ (in-package :gsl) @@ -55,8 +55,7 @@ alpha[K].") ;;; Examples and unit test -#| -(make-tests dirichlet +(save-test dirichlet (letm ((rng (random-number-generator *mt19937* 0)) (alpha (vector-double-float (a 1.0d0 2.0d0 3.0d0 4.0d0))) (theta (vector-double-float 4))) @@ -68,32 +67,6 @@ (letm ((alpha (vector-double-float (a 1.0d0 2.0d0 3.0d0 4.0d0))) (theta (vector-double-float (a 0.1d0 0.3d0 0.4d0 0.2d0)))) (dirichlet-log-pdf alpha theta))) -|# -(LISP-UNIT:DEFINE-TEST DIRICHLET - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - #(0.12448073544131681 0.19182353706734917 - 0.46054388544826397 0.22315184204307006)) - (MULTIPLE-VALUE-LIST - (LETM - ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0)) - (ALPHA (VECTOR-DOUBLE-FLOAT (A 1.0 2.0 3.0 4.0))) - (THETA (VECTOR-DOUBLE-FLOAT 4))) - (DIRICHLET RNG ALPHA THETA) (CL-ARRAY THETA)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.8800000000000043) - (MULTIPLE-VALUE-LIST - (LETM - ((ALPHA (VECTOR-DOUBLE-FLOAT (A 1.0 2.0 3.0 4.0))) - (THETA (VECTOR-DOUBLE-FLOAT (A 0.1 0.3 0.4 0.2)))) - (DIRICHLET-PDF ALPHA THETA)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.057790294147856) - (MULTIPLE-VALUE-LIST - (LETM - ((ALPHA (VECTOR-DOUBLE-FLOAT (A 1.0 2.0 3.0 4.0))) - (THETA (VECTOR-DOUBLE-FLOAT (A 0.1 0.3 0.4 0.2)))) - (DIRICHLET-LOG-PDF ALPHA THETA))))) diff --git a/random/discrete.lisp b/random/discrete.lisp index d1a78b514d571564b7cd12316a0cc44c3ae8dfeb..08602820148d87c8d6a07a14869e693d742d2ff0 100644 --- a/random/discrete.lisp +++ b/random/discrete.lisp @@ -1,6 +1,6 @@ ;; Discrete random variables ;; Liam Healy, Sat Nov 11 2006 - 21:51 -;; Time-stamp: <2008-09-14 21:44:32EDT discrete.lisp> +;; Time-stamp: <2008-10-25 12:14:54EDT discrete.lisp> ;; $Id$ (in-package :gsl) @@ -50,8 +50,7 @@ around.") ;;; Examples and unit test -#| -(make-tests discrete +(save-test discrete ;; Must have two letms because the vector value is not set until ;; the body, but the discrete-random needs that set value. (letm ((probabilities (vector-double-float (a 0.25d0 0.5d0 0.25d0)))) @@ -63,22 +62,6 @@ (letm ((probabilities (vector-double-float (a 0.25d0 0.5d0 0.25d0)))) (letm ((table (discrete-random probabilities))) (discrete-pdf 1 table)))) -|# -(LISP-UNIT:DEFINE-TEST DISCRETE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 1 0 1 1 0 1 1 2 1 2 2)) - (MULTIPLE-VALUE-LIST - (LETM ((PROBABILITIES (VECTOR-DOUBLE-FLOAT (A 0.25d0 0.5d0 0.25d0)))) - (LETM ((TABLE (DISCRETE-RANDOM PROBABILITIES)) - (RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (DISCRETE RNG TABLE)))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5d0) - (MULTIPLE-VALUE-LIST - (LETM ((PROBABILITIES (VECTOR-DOUBLE-FLOAT (A 0.25d0 0.5d0 0.25d0)))) - (LETM ((TABLE (DISCRETE-RANDOM PROBABILITIES))) - (DISCRETE-PDF 1 TABLE)))))) diff --git a/random/exponential-power.lisp b/random/exponential-power.lisp index 2e0b2abddf79b4a944acffafdddf82b9b156784b..121e4088ecaeb0c7a03cda5089f15aa1f26f1fe1 100644 --- a/random/exponential-power.lisp +++ b/random/exponential-power.lisp @@ -1,6 +1,6 @@ ;; Exponential power distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 12:53:01EST exponential-power.lisp> +;; Time-stamp: <2008-10-25 13:23:31EDT exponential-power.lisp> ;; $Id$ (in-package :gsl) @@ -43,8 +43,7 @@ parameters a and b.") ;;; Examples and unit test -#| -(make-tests exponential-power +(save-test exponential-power (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -52,30 +51,4 @@ (exponential-power-pdf 0.0d0 1.0d0 2.0d0) (exponential-power-P 1.0d0 1.0d0 2.0d0) (exponential-power-Q 1.0d0 1.0d0 2.0d0)) -|# -(LISP-UNIT:DEFINE-TEST EXPONENTIAL-POWER - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.09469475592777954d0 -0.06229680875327071d0 - 1.183985538537803d0 0.5187626019237904d0 - 0.7053564314063956d0 -0.9033303844569821d0 - -1.6947336289940842d0 -0.4803236108055401d0 - -0.027641736349912214d0 0.6318391856046153d0 - -0.012478875227423025d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (EXPONENTIAL-POWER RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5641895835477557d0) - (MULTIPLE-VALUE-LIST - (EXPONENTIAL-POWER-PDF 0.0d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.9213503964748571d0) - (MULTIPLE-VALUE-LIST - (EXPONENTIAL-POWER-P 1.0d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.07864960352514248d0) - (MULTIPLE-VALUE-LIST - (EXPONENTIAL-POWER-Q 1.0d0 1.0d0 2.0d0)))) diff --git a/random/exponential.lisp b/random/exponential.lisp index febc9c0bc3450ae9d100246d8c2c146f04a16ba6..8b129d7db984d5352fa873fa26c9dae77331574d 100644 --- a/random/exponential.lisp +++ b/random/exponential.lisp @@ -1,6 +1,6 @@ ;; Exponential distribution ;; Liam Healy, Sat Sep 2 2006 - 19:04 -;; Time-stamp: <2008-02-17 12:34:11EST exponential.lisp> +;; Time-stamp: <2008-10-25 13:21:30EDT exponential.lisp> ;; $Id$ (in-package :gsl) @@ -52,8 +52,7 @@ Q(x) for the exponential distribution with mean mu.") ;;; Examples and unit test -#| -(make-tests exponential +(save-test exponential (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -63,38 +62,4 @@ (exponential-q 1.0d0 2.0d0) (exponential-pinv 0.3934693402873666d0 2.0d0) (exponential-qinv 0.6065306597126334d0 2.0d0)) -|# -(LISP-UNIT:DEFINE-TEST EXPONENTIAL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.0025828444588394794d0 18.145581427987647d0 - 12.636598054339759d0 0.5424387252062355d0 - 14.624994234158105d0 7.236607929535993d0 - 0.4345362449683603d0 2.95303920904529d0 - 6.161052939065796d0 3.011686333539114d0 - 2.7451079819355364d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (EXPONENTIAL RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 0.1d0) - (MULTIPLE-VALUE-LIST - (EXPONENTIAL-PDF - 0.0d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.3934693402873666d0) - (MULTIPLE-VALUE-LIST (EXPONENTIAL-P 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6065306597126334d0) - (MULTIPLE-VALUE-LIST (EXPONENTIAL-Q 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 1.0d0) - (MULTIPLE-VALUE-LIST - (EXPONENTIAL-PINV - 0.3934693402873666d0 - 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 1.0d0) - (MULTIPLE-VALUE-LIST - (EXPONENTIAL-QINV - 0.6065306597126334d0 - 2.0d0)))) diff --git a/random/fdist.lisp b/random/fdist.lisp index 8d1458d950807fd6f2c1530f589b6c9cdd96777b..5b4d6b749aa3a789e7fb663a20d16486f12cfaee 100644 --- a/random/fdist.lisp +++ b/random/fdist.lisp @@ -1,6 +1,6 @@ ;; Fdist distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-09-20 21:25:00EDT fdist.lisp> +;; Time-stamp: <2008-10-25 13:25:15EDT fdist.lisp> ;; $Id$ (in-package :gsl) @@ -60,8 +60,7 @@ nu1 and nu2 degrees of freedom.") ;;; Examples and unit test -#| -(make-tests fdist +(save-test fdist (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -71,38 +70,3 @@ (fdist-Q 1.2d0 1.0d0 2.0d0) (fdist-Pinv 0.612372435695795d0 1.0d0 2.0d0) (fdist-Qinv 0.38762756430420503d0 1.0d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST FDIST - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 18.411308904958695 5.120881381831058 - 18.104535265974707 0.15934280606960227 - 0.06272171507636773 2.2809441726456456 - 0.5259458753395939 1.8256109001076744 - 0.845346894458977 2.5212086970057763 - 0.5212415547032052)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (FDIST RNG 1.0 2.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.1594719884624466) - (MULTIPLE-VALUE-LIST (FDIST-PDF 1.2 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6123724356957948) - (MULTIPLE-VALUE-LIST (FDIST-P 1.2 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.3876275643042052) - (MULTIPLE-VALUE-LIST (FDIST-Q 1.2 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 1.2) - (MULTIPLE-VALUE-LIST - (FDIST-PINV - 0.612372435695795 - 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.1999999999999995) - (MULTIPLE-VALUE-LIST - (FDIST-QINV 0.38762756430420503 1.0 2.0)))) - - diff --git a/random/flat.lisp b/random/flat.lisp index 95c65c432efb5813f1abaea75c293295a80b9cf5..5f19b8f9694fc45412d07aede94471c6874e949e 100644 --- a/random/flat.lisp +++ b/random/flat.lisp @@ -1,6 +1,6 @@ ;; Flat distribution ;; Liam Healy, Oct 7 2006 -;; Time-stamp: <2008-02-17 13:08:10EST flat.lisp> +;; Time-stamp: <2008-10-25 13:26:12EDT flat.lisp> ;; $Id$ (in-package :gsl) @@ -52,8 +52,7 @@ Q(x) for a uniform distribution from a to b.") ;;; Examples and unit test -#| -(make-tests flat +(save-test flat (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -63,36 +62,3 @@ (flat-Q 1.2d0 1.0d0 2.0d0) (flat-Pinv 0.19999999999999996d0 1.0d0 2.0d0) (flat-Qinv 0.8d0 1.0d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST FLAT - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 1.999741748906672d0 1.1629098753910512d0 - 1.2826178052928299d0 1.9472010820172727d0 - 1.2316565427463502d0 1.4849736143369228d0 - 1.9574769565369934d0 1.7443053431343287d0 - 1.540043658344075d0 1.7399529814720154d0 - 1.7599437981843948d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (FLAT RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0d0) - (MULTIPLE-VALUE-LIST (FLAT-PDF 1.2d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.19999999999999996d0) - (MULTIPLE-VALUE-LIST (FLAT-P 1.2d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8d0) - (MULTIPLE-VALUE-LIST (FLAT-Q 1.2d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.2d0) - (MULTIPLE-VALUE-LIST - (FLAT-PINV 0.19999999999999996d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.2d0) - (MULTIPLE-VALUE-LIST - (FLAT-QINV 0.8d0 1.0d0 2.0d0)))) - diff --git a/random/gamma.lisp b/random/gamma.lisp index 37ebaa592e30ef474d56666c3028e5afde377bc9..2749ac79a3762930b466f30bed1a530d9c835561 100644 --- a/random/gamma.lisp +++ b/random/gamma.lisp @@ -1,6 +1,6 @@ ;; Gamma distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-09-20 21:25:37EDT gamma.lisp> +;; Time-stamp: <2008-10-25 13:30:58EDT gamma.lisp> ;; $Id$ (in-package :gsl) @@ -62,8 +62,7 @@ Q(x) for the Gamma distribution with parameters a and b.") ;;; Examples and unit test -#| -(make-tests gamma-randist +(save-test gamma-randist (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -77,49 +76,3 @@ (gamma-Q 0.1d0 1.0d0 2.0d0) (gamma-Pinv 0.048770575499286005d0 1.0d0 2.0d0) (gamma-Qinv 0.951229424500714d0 1.0d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST GAMMA-RANDIST - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 3.012983063768798 2.216796987787054 - 5.033971231985026 0.6152002566487763 - 0.1876159751197978 1.7884608326846099 - 0.30812625873110316 1.1328459017528132 - 0.7363931539298727 0.9843618987581162 - 0.06871686155296197)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GAMMA-RD RNG 1.0 2.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 3.012983063768798 2.216796987787054 - 5.033971231985026 0.6152002566487763 - 0.1876159751197978 1.7884608326846099 - 0.30812625873110316 1.1328459017528132 - 0.7363931539298727 0.9843618987581162 - 0.06871686155296197)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GAMMA-MT RNG 1.0 2.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.475614712250357) - (MULTIPLE-VALUE-LIST (GAMMA-PDF 0.1 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.04877057549928599) - (MULTIPLE-VALUE-LIST (GAMMA-P 0.1 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.951229424500714) - (MULTIPLE-VALUE-LIST (GAMMA-Q 0.1 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.10000000000000006) - (MULTIPLE-VALUE-LIST - (GAMMA-PINV 0.048770575499286005 1.0 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.10000000000000003) - (MULTIPLE-VALUE-LIST - (GAMMA-QINV 0.951229424500714 1.0 2.0)))) - - diff --git a/random/gaussian-bivariate.lisp b/random/gaussian-bivariate.lisp index 4ff703f1b0071a1b76a8c6850561cf8bb6ba0ebf..d2659731d251ccfe97357a747a35d25ab4e58ace 100644 --- a/random/gaussian-bivariate.lisp +++ b/random/gaussian-bivariate.lisp @@ -1,6 +1,6 @@ ;; Gaussian bivariate distribution ;; Liam Healy, Sat Sep 2 2006 - 16:32 -;; Time-stamp: <2008-02-17 12:32:10EST gaussian-bivariate.lisp> +;; Time-stamp: <2008-10-25 13:30:58EDT gaussian-bivariate.lisp> ;; $Id$ (in-package :gsl) @@ -33,15 +33,13 @@ rho, using the formula given for bivariate-gaussian.") ;;; Examples and unit test -#| -(make-tests gaussian-bivariate +(save-test gaussian-bivariate (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (bivariate-gaussian rng 1.0d0 0.75d0 0.25d0))) (bivariate-gaussian-pdf 0.25d0 0.5d0 0.25d0 0.4d0 0.2d0)) -|# (LISP-UNIT:DEFINE-TEST GAUSSIAN-BIVARIATE (LISP-UNIT::ASSERT-NUMERICAL-EQUAL diff --git a/random/gaussian-tail.lisp b/random/gaussian-tail.lisp index d0d47132270aacc1a718d3d0faa8651e5b102e61..470423b4470e4fd9ae526c05203a33d9cadfad51 100644 --- a/random/gaussian-tail.lisp +++ b/random/gaussian-tail.lisp @@ -1,6 +1,6 @@ ;; Gaussian tail distribution ;; Liam Healy, Mon Aug 21 2006 - 21:52 -;; Time-stamp: <2008-02-17 12:28:20EST gaussian-tail.lisp> +;; Time-stamp: <2008-10-25 13:33:16EDT gaussian-tail.lisp> ;; $Id$ (in-package :gsl) @@ -44,8 +44,7 @@ "Equivalent to gaussian-tail-pdf with sigma=1.") ;;; Examples and unit test -#| -(make-tests +(save-test gaussian-tail (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 @@ -57,37 +56,3 @@ collect (ugaussian-tail rng 5.0d0))) (ugaussian-tail-pdf 5.2d0 5.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST GAUSSIAN-TAIL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 50.10837030381376d0 51.42695945309931d0 - 50.587160269982604d0 50.59875222444504d0 - 50.82830572864337d0 50.43343112125345d0 - 53.442286287287374d0 51.83761714183811d0 - 53.00107421429086d0 52.149774169929884d0 - 50.11572443504253d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GAUSSIAN-TAIL RNG 50.0d0 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.18702270877331703d0) - (MULTIPLE-VALUE-LIST - (GAUSSIAN-TAIL-PDF 52.0d0 50.0d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 5.010837030381376d0 5.142695945309931d0 - 5.05871602699826d0 5.0598752224445045d0 - 5.082830572864337d0 5.043343112125345d0 - 5.344228628728738d0 5.183761714183811d0 - 5.300107421429086d0 5.214977416992989d0 - 5.011572443504253d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (UGAUSSIAN-TAIL RNG 5.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.8702270877331704d0) - (MULTIPLE-VALUE-LIST (UGAUSSIAN-TAIL-PDF 5.2d0 5.0d0)))) diff --git a/random/gaussian.lisp b/random/gaussian.lisp index b46530c6dd1927885d489cad1a41855f12cdc3bb..048b9dbe5571a03a16c58cb91835536507f5d6af 100644 --- a/random/gaussian.lisp +++ b/random/gaussian.lisp @@ -1,6 +1,6 @@ ;; Gaussian distribution ;; Liam Healy, Sun Jul 16 2006 - 22:09 -;; Time-stamp: <2008-09-20 21:28:07EDT gaussian.lisp> +;; Time-stamp: <2008-10-25 13:30:56EDT gaussian.lisp> ;; $Id$ (in-package :gsl) @@ -126,8 +126,7 @@ distribution with unit standard deviation.") ;;; Examples and unit test -#| -(make-tests +(save-test gaussian (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 @@ -143,48 +142,3 @@ (ugaussian-q 2.0d0) (ugaussian-pinv 0.9772498680518208d0) (ugaussian-qinv 0.02275013194817921d0)) -|# - -(LISP-UNIT:DEFINE-TEST GAUSSIAN - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 1.3391860811867589 -0.8810099183143839 - 16.744084062537738 7.336411072925795 - 9.975246316020124 -12.775020810027664 - -23.967152827332075 -6.79280164729211 - -0.3909131843358723 8.935555455208181 - -0.17647794589783283)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GAUSSIAN RNG 10.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.039894228040143274) - (MULTIPLE-VALUE-LIST (GAUSSIAN-PDF 0.0 10.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 7.648734260124924 -11.307312946196086 - 4.523361654215173 -4.5181725947577185 - 13.64676540828912 3.553650119391929 - -5.567035948404032 10.097727863788887 - 2.519120940798607 -9.024585521868676 - -9.463283369593537)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GAUSSIAN-ZIGGURAT RNG 10.0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.9772498680518208) - (MULTIPLE-VALUE-LIST (UGAUSSIAN-P 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.022750131948179212) - (MULTIPLE-VALUE-LIST (UGAUSSIAN-Q 2.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 2.0) - (MULTIPLE-VALUE-LIST - (UGAUSSIAN-PINV - 0.9772498680518208))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 2.0) - (MULTIPLE-VALUE-LIST - (UGAUSSIAN-QINV - 0.02275013194817921)))) - diff --git a/random/generators.lisp b/random/generators.lisp index 400e47e5add405486db70aacb0bb94b6de1dc7cf..fea2aa8b15c4b1822223ec2a391a352f90a8b83a 100644 --- a/random/generators.lisp +++ b/random/generators.lisp @@ -1,6 +1,6 @@ ;; Generators of random numbers. ;; Liam Healy, Sat Jul 15 2006 - 14:43 -;; Time-stamp: <2008-08-23 19:17:26EDT generators.lisp> +;; Time-stamp: <2008-10-25 13:34:33EDT generators.lisp> ;; $Id$ (in-package :gsl) @@ -237,33 +237,11 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests random-number-generators +(save-test random-number-generators (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (uniform-fixnum rng 1000))) (letm ((rng (random-number-generator *cmrg* 0))) (loop for i from 0 to 10 collect (uniform rng)))) -|# - -(LISP-UNIT:DEFINE-TEST RANDOM-NUMBER-GENERATORS - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 999 162 282 947 231 484 957 744 540 739 759)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (UNIFORM-FIXNUM RNG 1000))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.11177622997750353d0 0.9591667949963206d0 - 0.8415268011584537d0 0.9254037136795947d0 - 0.27540698474059205d0 0.7093040573919677d0 - 0.5541333041871588d0 0.8806957769583426d0 - 0.597139396982798d0 0.7518741133398722d0 - 0.9311084621265104d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *CMRG* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (UNIFORM RNG)))))) + diff --git a/random/geometric.lisp b/random/geometric.lisp index 11612e9c6a06a48f10f98de47987a878836374b0..7ed944bf3979b0626f93a41817047361fb764d44 100644 --- a/random/geometric.lisp +++ b/random/geometric.lisp @@ -1,6 +1,6 @@ ;; Geometric distribution ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-02-17 13:45:43EST geometric.lisp> +;; Time-stamp: <2008-10-25 13:35:34EDT geometric.lisp> ;; $Id$ (in-package :gsl) @@ -41,8 +41,7 @@ Q(k) for the geometric distribution with parameters p.") ;;; Examples and unit test -#| -(make-tests geometric +(save-test geometric (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -50,22 +49,3 @@ (geometric-pdf 2 0.4d0) (geometric-P 2 0.4d0) (geometric-Q 2 0.4d0)) -|# - -(LISP-UNIT:DEFINE-TEST GEOMETRIC - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 1 4 3 1 3 2 1 1 2 1 1)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GEOMETRIC RNG 0.4d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.24d0) - (MULTIPLE-VALUE-LIST (GEOMETRIC-PDF 2 0.4d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.64d0) - (MULTIPLE-VALUE-LIST (GEOMETRIC-P 2 0.4d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.36d0) - (MULTIPLE-VALUE-LIST (GEOMETRIC-Q 2 0.4d0)))) - diff --git a/random/gumbel1.lisp b/random/gumbel1.lisp index 502fb2df9cfd2c1088d27000c14d087d8cf31afe..904f62cb99783332b28b1e8f18427be2c59772e5 100644 --- a/random/gumbel1.lisp +++ b/random/gumbel1.lisp @@ -1,6 +1,6 @@ ;; The Gumbel type 1 random number distribution ;; Liam Healy, Sun Oct 29 2006 -;; Time-stamp: <2008-02-17 13:30:24EST gumbel1.lisp> +;; Time-stamp: <2008-10-25 13:37:01EDT gumbel1.lisp> ;; $Id$ (in-package :gsl) @@ -56,8 +56,7 @@ parameters a and b.") ;;; Examples and unit test -#| -(make-tests gumbel1 +(save-test gumbel1 (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (gumbel1 rng 1.0d0 2.0d0))) @@ -66,36 +65,5 @@ (gumbel1-Q 0.1d0 1.0d0 2.0d0) (gumbel1-Pinv 0.1637073598773166d0 1.0d0 2.0d0) (gumbel1-Qinv 0.8362926401226833d0 1.0d0 2.0d0)) -|# -(LISP-UNIT:DEFINE-TEST GUMBEL1 - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 8.954596257487015d0 0.0973051899750762d0 - 0.45913506233088003d0 3.6074124224293223d0 - 0.31300027468174807d0 1.0165796949651174d0 - 3.8292081936610396d0 1.912897393181305d0 - 1.17748457894919d0 1.893232107970416d0 - 1.9859118616847695d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GUMBEL1 RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.29625708964974956d0) - (MULTIPLE-VALUE-LIST (GUMBEL1-PDF 0.1d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.1637073598773166d0) - (MULTIPLE-VALUE-LIST (GUMBEL1-P 0.1d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8362926401226833d0) - (MULTIPLE-VALUE-LIST (GUMBEL1-Q 0.1d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.10000000000000007d0) - (MULTIPLE-VALUE-LIST - (GUMBEL1-PINV 0.1637073598773166d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.10000000000000028d0) - (MULTIPLE-VALUE-LIST - (GUMBEL1-QINV 0.8362926401226833d0 1.0d0 2.0d0)))) diff --git a/random/gumbel2.lisp b/random/gumbel2.lisp index a42f6ade542c02f4ad6f20944ab9008ed8bddc1b..0cff266aa96fdab87a2132370d9c2c62f2e469d2 100644 --- a/random/gumbel2.lisp +++ b/random/gumbel2.lisp @@ -1,6 +1,6 @@ ;; The Gumbel type 2 random number distribution ;; Liam Healy, Sun Oct 29 2006 -;; Time-stamp: <2008-02-17 13:32:16EST gumbel2.lisp> +;; Time-stamp: <2008-10-25 13:38:04EDT gumbel2.lisp> ;; $Id$ (in-package :gsl) @@ -54,8 +54,7 @@ parameters a and b.") ;;; Examples and unit test -#| -(make-tests gumbel2 +(save-test gumbel2 (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -65,35 +64,3 @@ (gumbel2-Q 10.0d0 1.0d0 2.0d0) (gumbel2-Pinv 0.8187307530779818d0 1.0d0 2.0d0) (gumbel2-Qinv 0.18126924692201815d0 1.0d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST GUMBEL2 - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 7743.400858519516d0 1.102196701680339d0 - 1.5827044520998628d0 36.87052393317972d0 - 1.3675219066608615d0 2.7637257945633085d0 - 46.026080060263446d0 6.772683525074477d0 - 3.2461983686562204d0 6.640797807286079d0 - 7.285687897019733d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (GUMBEL2 RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.053625603682851145d0) - (MULTIPLE-VALUE-LIST (GUMBEL2-PDF 5.0d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8187307530779818d0) - (MULTIPLE-VALUE-LIST (GUMBEL2-P 10.0d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.18126924692201815d0) - (MULTIPLE-VALUE-LIST (GUMBEL2-Q 10.0d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 9.999999999999998d0) - (MULTIPLE-VALUE-LIST - (GUMBEL2-PINV 0.8187307530779818d0 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 10.0d0) - (MULTIPLE-VALUE-LIST (GUMBEL2-QINV 0.18126924692201815d0 1.0d0 2.0d0)))) - diff --git a/random/hypergeometric.lisp b/random/hypergeometric.lisp index f16aa493688fba7f6a9773202c6c041a9b2180a1..95673b9b4a2be4d6af025ec337f89dafca8dca40 100644 --- a/random/hypergeometric.lisp +++ b/random/hypergeometric.lisp @@ -1,6 +1,6 @@ ;; Hypergeometric distribution ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-02-17 15:35:14EST hypergeometric.lisp> +;; Time-stamp: <2008-10-25 13:39:43EDT hypergeometric.lisp> ;; $Id$ (in-package :gsl) @@ -46,8 +46,7 @@ hypergeometric distribution with parameters n1, n2, and tt.") ;;; Examples and unit test -#| -(make-tests hypergeometric-randist +(save-test hypergeometric-randist (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -55,22 +54,5 @@ (hypergeometric-pdf 0 2 6 3) (hypergeometric-P 1 2 6 3) (hypergeometric-Q 1 2 6 3)) -|# -(LISP-UNIT:DEFINE-TEST HYPERGEOMETRIC-RANDIST - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 2 1 0 0 1 1 3 1 0 1 3)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (HYPERGEOMETRIC RNG 3 6 3))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.35714285714285693d0) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-PDF 0 2 6 3))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.892857142857143d0) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-P 1 2 6 3))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.10714285714285704d0) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-Q 1 2 6 3)))) diff --git a/random/landau.lisp b/random/landau.lisp index 4964f722059064bc6997d329f85941ad5c988ad6..39031dd792df8faae282b16bf95011c9dc02fa4d 100644 --- a/random/landau.lisp +++ b/random/landau.lisp @@ -1,6 +1,6 @@ ;; Landau distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 13:01:50EST landau.lisp> +;; Time-stamp: <2008-10-25 13:41:16EDT landau.lisp> ;; $Id$ (in-package :gsl) @@ -27,28 +27,8 @@ in #'landau.") ;;; Examples and unit test -#| -(make-tests landau +(save-test landau (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (landau rng))) (landau-pdf 0.25d0)) -|# - -(LISP-UNIT:DEFINE-TEST LANDAU - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 3880.037426254597d0 -0.6953200314545297d0 - -0.02354364646600932d0 21.329209630030316d0 - -0.3062224704714883d0 1.2424186669362394d0 - 26.146168479649152d0 4.337217640968217d0 - 1.6799546281085946d0 4.2475719218268395d0 - 4.681506208977819d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (LANDAU RNG))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.17331968995860203d0) - (MULTIPLE-VALUE-LIST (LANDAU-PDF 0.25d0)))) - diff --git a/random/laplace.lisp b/random/laplace.lisp index 977e0ec9fc2de1a8a9340bafcf8bab754665f079..de57514aeef1e390742725e4e4271d6e4cc7da6c 100644 --- a/random/laplace.lisp +++ b/random/laplace.lisp @@ -1,6 +1,6 @@ ;; Exponential distribution ;; Liam Healy, Sun Sep 17 2006 -;; Time-stamp: <2008-02-17 12:50:28EST laplace.lisp> +;; Time-stamp: <2008-10-25 13:42:41EDT laplace.lisp> ;; $Id$ (in-package :gsl) @@ -52,8 +52,7 @@ Q(x) for the laplace distribution with width a.") ;;; Examples and unit test -#| -(make-tests laplace +(save-test laplace (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -63,33 +62,3 @@ (laplace-q 1.0d0 2.0d0) (laplace-pinv 0.6967346701436833d0 2.0d0) (laplace-qinv 0.3032653298563167d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST LAPLACE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.005166356198580803d0 -3.942577717493807d0 - -8.329510281601332d0 1.1159975704649974d0 - -6.2234038148786555d0 -35.04800398421181d0 - 0.8888158320028845d0 7.161892491969776d0 - 25.24637780914261d0 7.341651048064451d0 - 6.54142651602034d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (LAPLACE RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.05d0) - (MULTIPLE-VALUE-LIST (LAPLACE-PDF 0.0d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6967346701436833d0) - (MULTIPLE-VALUE-LIST (LAPLACE-P 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.3032653298563167d0) - (MULTIPLE-VALUE-LIST (LAPLACE-Q 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0d0) - (MULTIPLE-VALUE-LIST (LAPLACE-PINV 0.6967346701436833d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0d0) - (MULTIPLE-VALUE-LIST (LAPLACE-QINV 0.3032653298563167d0 2.0d0)))) diff --git a/random/levy.lisp b/random/levy.lisp index 848e9d9f57b9d70748903d43a4c35e99ce2bea64..2c8234751ef6922df0e8eb057bec5de1163d2a2e 100644 --- a/random/levy.lisp +++ b/random/levy.lisp @@ -1,6 +1,6 @@ ;; Levy distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 13:03:36EST levy.lisp> +;; Time-stamp: <2008-10-25 17:52:43EDT levy.lisp> ;; $Id$ (in-package :gsl) @@ -42,10 +42,8 @@ become extremely wide. The symmetric distribution corresponds to \beta = 0. The algorithm only works for 0 < \alpha \le 2.") - ;;; Examples and unit test -#| -(make-tests levy +(save-test levy (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -54,31 +52,3 @@ (loop for i from 0 to 10 collect (levy-skew rng 1.0d0 2.0d0 1.0d0)))) -|# - -(LISP-UNIT:DEFINE-TEST LEVY - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 2.6941098332360465d0 -0.29395438644676647d0 - -1.2703401352272083d0 1.0771538640113538d0 - 0.13771218406916103d0 0.9419728438107844d0 - -0.5107134674789159d0 0.1648207853689268d0 - -0.14857899041035147d0 -1.9074885744364487d0 - -2.086195213997167d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (LEVY RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 2.6941098332360465d0 -0.2939543864467665d0 - -1.2703401352272083d0 1.0771538640113538d0 - 0.13771218406916097d0 0.9419728438107844d0 - -0.510713467478916d0 0.1648207853689266d0 - -0.14857899041035158d0 -1.907488574436449d0 - -2.086195213997167d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (LEVY-SKEW RNG 1.0d0 2.0d0 1.0d0)))))) - diff --git a/random/logarithmic.lisp b/random/logarithmic.lisp index 35cf384355d8c03318bbb051de3cd5d40ca1528e..fae4e3e2aa1aeb4ba98308559eb61a81f70f464c 100644 --- a/random/logarithmic.lisp +++ b/random/logarithmic.lisp @@ -1,6 +1,6 @@ ;; Logarithmic distribution ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-02-17 15:36:14EST logarithmic.lisp> +;; Time-stamp: <2008-10-25 17:53:40EDT logarithmic.lisp> ;; $Id$ (in-package :gsl) @@ -24,23 +24,9 @@ using the formula given in #'logarithmic.") ;;; Examples and unit test -#| -(make-tests logarithmic +(save-test logarithmic (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (logarithmic rng 0.9d0))) (logarithmic-pdf 2 0.4d0)) -|# - -(LISP-UNIT:DEFINE-TEST LOGARITHMIC - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 1 3 1 4 1 1 2 1 1 5 2)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (LOGARITHMIC RNG 0.9d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.15660921511769743d0) - (MULTIPLE-VALUE-LIST (LOGARITHMIC-PDF 2 0.4d0)))) - diff --git a/random/logistic.lisp b/random/logistic.lisp index 0d51f8a6139902e5af3ab7ad0e5bdc87722bfe7f..828d06ea22852549f515c789a57ec8120190eb0b 100644 --- a/random/logistic.lisp +++ b/random/logistic.lisp @@ -1,6 +1,6 @@ ;; Logistic distribution ;; Liam Healy, Sat Oct 7 2006 - 16:13 -;; Time-stamp: <2008-02-17 13:20:11EST logistic.lisp> +;; Time-stamp: <2008-10-25 17:54:29EDT logistic.lisp> ;; $Id$ (in-package :gsl) @@ -51,8 +51,7 @@ Q(x) for the logistic distribution with scale parameter a.") ;;; Examples and unit test -#| -(make-tests logistic +(save-test logistic (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -62,36 +61,3 @@ (logistic-Q 0.5d0 1.0d0) (logistic-Pinv 0.6224593312018546d0 1.0d0) (logistic-Qinv 0.37754066879814546d0 1.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST LOGISTIC - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 82.6131993192451d0 -16.367346042668906d0 - -9.31513272043762d0 28.87020708710654d0 - -11.989809875784625d0 -0.6012364762000397d0 - 31.142555263622d0 10.684673721048895d0 - 1.6051840954024446d0 10.457241904701199d0 - 11.523714106294097d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (LOGISTIC RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.2350037122015945d0) - (MULTIPLE-VALUE-LIST (LOGISTIC-PDF 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6224593312018546d0) - (MULTIPLE-VALUE-LIST (LOGISTIC-P 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.37754066879814546d0) - (MULTIPLE-VALUE-LIST (LOGISTIC-Q 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5000000000000001d0) - (MULTIPLE-VALUE-LIST - (LOGISTIC-PINV 0.6224593312018546d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.4999999999999998d0) - (MULTIPLE-VALUE-LIST - (LOGISTIC-QINV 0.37754066879814546d0 1.0d0)))) - diff --git a/random/lognormal.lisp b/random/lognormal.lisp index f4f6f38137ee257f4e0d0e5f88c64966ea6cb796..3c7df8890461b1bf733f585256b63c6c5b9887bb 100644 --- a/random/lognormal.lisp +++ b/random/lognormal.lisp @@ -1,6 +1,6 @@ ;; Lognormal distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 13:10:13EST lognormal.lisp> +;; Time-stamp: <2008-10-25 17:57:40EDT lognormal.lisp> ;; $Id$ (in-package :gsl) @@ -55,8 +55,7 @@ zeta and sigma.") ;;; Examples and unit test -#| -(make-tests lognormal +(save-test lognormal (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -66,7 +65,6 @@ (lognormal-Q 1.2d0 1.0d0 2.0d0) (lognormal-Pinv 0.3413288272347352d0 1.0d0 2.0d0) (lognormal-Qinv 0.6586711727652649d0 1.0d0 2.0d0)) -|# (LISP-UNIT:DEFINE-TEST LOGNORMAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL diff --git a/random/multinomial.lisp b/random/multinomial.lisp index 31c614b936dcd1d1e8a2ee1609550b4927f8b2bf..f26579dd767cfa1aa6d14cada8c2bb6388d22759 100644 --- a/random/multinomial.lisp +++ b/random/multinomial.lisp @@ -1,6 +1,6 @@ ;; Multinomial distribution ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-09-14 21:40:55EDT multinomial.lisp> +;; Time-stamp: <2008-10-25 18:04:19EDT multinomial.lisp> ;; $Id$ (in-package :gsl) @@ -48,43 +48,15 @@ with parameters p[K], using the formula given for #'multinomial.") ;;; Examples and unit test -#| -(make-tests multinomial - (letm ((rng (random-number-generator *mt19937* 0)) - (p (vector-double-float (a 0.1d0 0.2d0 0.3d0 0.4d0))) - (n (vector-fixnum 4))) - (multinomial rng 8 p n) - (cl-array n)) - (letm ((p (vector-double-float (a 0.1d0 0.2d0 0.3d0 0.4d0))) - (n (vector-fixnum 4) (a 5 0 1 2))) - (multinomial-pdf p N)) - (letm ((p (vector-double-float (a 0.1d0 0.2d0 0.3d0 0.4d0))) - (n (vector-fixnum 4) (a 5 0 1 2))) - (multinomial-log-pdf p n))) - -(LISP-UNIT:DEFINE-TEST MULTINOMIAL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(5 0 1 2)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0)) - (P (VECTOR-DOUBLE-FLOAT #(0.1d0 0.2d0 0.3d0 0.4d0))) - (N (VECTOR-FIXNUM 4))) - (MULTINOMIAL RNG 8 P N) - (DATA N)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 8.064000000000026d-5) - (MULTIPLE-VALUE-LIST - (LETM - ((P (VECTOR-DOUBLE-FLOAT #(0.1d0 0.2d0 0.3d0 0.4d0))) - (N (VECTOR-FIXNUM 4))) - (SETF (DATA N) #(5 0 1 2)) (MULTINOMIAL-PDF P N)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -9.425515753641212d0) - (MULTIPLE-VALUE-LIST - (LETM - ((P (VECTOR-DOUBLE-FLOAT #(0.1d0 0.2d0 0.3d0 0.4d0))) - (N (VECTOR-FIXNUM 4))) - (SETF (DATA N) #(5 0 1 2)) - (MULTINOMIAL-LOG-PDF P N))))) - -|# +(save-test multinomial + (letm ((rng (random-number-generator *mt19937* 0)) + (p (vector-double-float (a 0.1d0 0.2d0 0.3d0 0.4d0))) + (n (vector-signed-byte-32 4))) + (multinomial rng 8 p n) + (cl-array n)) + (letm ((p (vector-double-float (a 0.1d0 0.2d0 0.3d0 0.4d0))) + (n (vector-signed-byte-32 (a 5 0 1 2)))) + (multinomial-pdf p N)) + (letm ((p (vector-double-float (a 0.1d0 0.2d0 0.3d0 0.4d0))) + (n (vector-signed-byte-32 (a 5 0 1 2)))) + (multinomial-log-pdf p n))) diff --git a/random/negative-binomial.lisp b/random/negative-binomial.lisp index ffb5e9dc7dc6efeca7c9d8220559958b78d39c4d..78724186944e33d62098f5af40ffe91773816278 100644 --- a/random/negative-binomial.lisp +++ b/random/negative-binomial.lisp @@ -1,6 +1,6 @@ ;; Negative binomial and Pascal distributions ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-09-20 21:28:50EDT negative-binomial.lisp> +;; Time-stamp: <2008-10-25 18:06:14EDT negative-binomial.lisp> ;; $Id$ (in-package :gsl) @@ -88,8 +88,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests negative-binomial +(save-test negative-binomial (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -104,7 +103,6 @@ (pascal-pdf 5 0.4d0 12) (pascal-P 5 0.4d0 12) (pascal-Q 5 0.4d0 12)) -|# (LISP-UNIT:DEFINE-TEST NEGATIVE-BINOMIAL (LISP-UNIT::ASSERT-NUMERICAL-EQUAL diff --git a/random/pareto.lisp b/random/pareto.lisp index b49df9c44c49295766b05e93f8fbd24aad832e53..e86f324e9e2daa75ade2b1a54c4e6d1750d6c070 100644 --- a/random/pareto.lisp +++ b/random/pareto.lisp @@ -1,6 +1,6 @@ ;; Pareto distribution ;; Liam Healy, Sat Oct 8 2006 - 21:23 -;; Time-stamp: <2008-02-17 13:23:00EST pareto.lisp> +;; Time-stamp: <2008-10-25 18:07:27EDT pareto.lisp> ;; $Id$ (in-package :gsl) @@ -52,8 +52,7 @@ Q(x) for the Pareto distribution with exponent a and scale b.") ;;; Examples and unit test -#| -(make-tests pareto +(save-test pareto (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -63,36 +62,3 @@ (pareto-Q 3.5d0 1.3d0 2.0d0) (pareto-Pinv 0.5168849835182453d0 1.3d0 2.0d0) (pareto-Qinv 0.4831150164817547d0 1.3d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST PARETO - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 2.0005166356083666d0 12.276726596218747d0 - 7.076694965937239d0 2.111484074469764d0 - 8.633470811095883d0 4.123935696449152d0 - 2.0888231161547828d0 2.6870692498025632d0 - 3.703404287965457d0 2.7028744394290123d0 - 2.631773566385122d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (PARETO RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5116034405707658d0) - (MULTIPLE-VALUE-LIST (PARETO-PDF 1.5d0 1.3d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5168849835182453d0) - (MULTIPLE-VALUE-LIST (PARETO-P 3.5d0 1.3d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.4831150164817547d0) - (MULTIPLE-VALUE-LIST (PARETO-Q 3.5d0 1.3d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.5000000000000004d0) - (MULTIPLE-VALUE-LIST - (PARETO-PINV 0.5168849835182453d0 1.3d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.5000000000000004d0) - (MULTIPLE-VALUE-LIST - (PARETO-QINV 0.4831150164817547d0 1.3d0 2.0d0)))) - diff --git a/random/poisson.lisp b/random/poisson.lisp index e9fb8248d03ad692fb92c1d7e0f56f2f3d1949fd..062d54ea74dd938f6f5b93c3448370d9733fe15a 100644 --- a/random/poisson.lisp +++ b/random/poisson.lisp @@ -1,6 +1,6 @@ ;; Poisson distribution ;; Liam Healy, Sat Nov 25 2006 - 16:00 -;; Time-stamp: <2008-02-17 13:38:14EST poisson.lisp> +;; Time-stamp: <2008-10-25 18:08:19EDT poisson.lisp> ;; $Id$ (in-package :gsl) @@ -38,8 +38,7 @@ Q(k) for the Poisson distribution with parameter mu.") ;;; Examples and unit test -#| -(make-tests poisson +(save-test poisson (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -47,22 +46,3 @@ (poisson-pdf 8 10.0d0) (poisson-P 8 10.0d0) (poisson-Q 8 10.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST POISSON - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 15 6 9 9 5 8 11 9 11 5 10)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (POISSON RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.11259903214902009d0) - (MULTIPLE-VALUE-LIST (POISSON-PDF 8 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.3328196787507177d0) - (MULTIPLE-VALUE-LIST (POISSON-P 8 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6671803212492823d0) - (MULTIPLE-VALUE-LIST (POISSON-Q 8 10.0d0)))) - diff --git a/random/quasi.lisp b/random/quasi.lisp index 74354f6b95018368c388edb4db04528b7ab6b069..39eef30ea557497fbb3411a9d1e6562a93f0ac76 100644 --- a/random/quasi.lisp +++ b/random/quasi.lisp @@ -1,6 +1,6 @@ ;; Quasi-random sequences in arbitrary dimensions. ;; Liam Healy, Sun Jul 16 2006 - 15:54 -;; Time-stamp: <2008-09-14 22:01:42EDT quasi.lisp> +;; Time-stamp: <2008-10-25 18:09:21EDT quasi.lisp> ;; $Id$ (in-package :gsl) @@ -125,25 +125,10 @@ "gsl_qrng_sobol") ;;; Examples and unit test -#| -(make-tests quasi-random-number-generators +(save-test quasi-random-number-generators ;; This example is given in the GSL documentation (letm ((gen (quasi-random-number-generator 2 *sobol*)) (vec (vector-double-float 2))) (loop repeat 5 do (qrng-get gen vec) append (coerce (cl-array vec) 'list)))) -|# - -(LISP-UNIT:DEFINE-TEST QUASI-RANDOM-NUMBER-GENERATORS - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.5d0 0.5d0 0.75d0 0.25d0 0.25d0 0.75d0 0.375d0 - 0.375d0 0.875d0 0.875d0)) - (MULTIPLE-VALUE-LIST - (LETM - ((GEN (QUASI-RANDOM-NUMBER-GENERATOR 2 *SOBOL*)) - (VEC (VECTOR-DOUBLE-FLOAT 2))) - (LOOP REPEAT 5 DO (QRNG-GET GEN VEC) APPEND - (COERCE (CL-ARRAY VEC) 'LIST)))))) - diff --git a/random/rayleigh-tail.lisp b/random/rayleigh-tail.lisp index 8995cf5152d63ec8cde2ab7f13d13aaa1e02ff99..ee3f3f0b02c4a076356182cdbc2bc7596be71c98 100644 --- a/random/rayleigh-tail.lisp +++ b/random/rayleigh-tail.lisp @@ -1,6 +1,6 @@ ;; Rayleigh tail distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 13:00:06EST rayleigh-tail.lisp> +;; Time-stamp: <2008-10-25 18:16:47EDT rayleigh-tail.lisp> ;; $Id$ (in-package :gsl) @@ -25,28 +25,8 @@ lower limit a, using the formula given in #'rayleigh-tail.") ;;; Examples and unit test -#| -(make-tests rayleigh-tail +(save-test rayleigh-tail (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect (rayleigh-tail rng 1.0d0 10.0d0))) (rayleigh-tail-pdf 0.25d0 -2.0d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST RAYLEIGH-TAIL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 1.0255032370386696d0 19.0764679267351d0 - 15.928966102255199d0 3.4422048899106383d0 - 17.131838333441106d0 12.071957529361999d0 - 3.112992916690818d0 7.749889301203328d0 - 11.145450138119857d0 7.825198187316554d0 - 7.476774681552917d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (RAYLEIGH-TAIL RNG 1.0d0 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.10224317624874313d0) - (MULTIPLE-VALUE-LIST - (RAYLEIGH-TAIL-PDF 0.25d0 -2.0d0 2.0d0)))) diff --git a/random/rayleigh.lisp b/random/rayleigh.lisp index 35104da482f59f6b98f1da3d97df0c9127e8a759..a77c1c8fa1bffbbf4cc0bcfed40d9c5d4ef6e1c9 100644 --- a/random/rayleigh.lisp +++ b/random/rayleigh.lisp @@ -1,6 +1,6 @@ ;; Rayleigh distribution ;; Liam Healy, Sat Sep 30 2006 -;; Time-stamp: <2008-02-17 18:45:41EST rayleigh.lisp> +;; Time-stamp: <2008-10-25 18:11:18EDT rayleigh.lisp> ;; $Id$ (in-package :gsl) @@ -56,8 +56,7 @@ parameter sigma.") ;;; Examples and unit test -#| -(make-tests rayleigh +(save-test rayleigh (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -67,36 +66,3 @@ (rayleigh-Q 1.0d0 2.0d0) (rayleigh-Pinv 0.1175030974154046d0 2.0d0) (rayleigh-Qinv 0.8824969025845955d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST RAYLEIGH - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.22728151965522753d0 19.05023959323748d0 - 15.897545756713367d0 3.2937477899992147d0 - 17.102628005168157d0 12.030467929000928d0 - 2.9480035446666624d0 7.6851014424603274d0 - 11.100498132125239d0 7.76103902005281d0 - 7.409599155063027d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (RAYLEIGH RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.4412484512922977d0) - (MULTIPLE-VALUE-LIST (RAYLEIGH-PDF 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.1175030974154046d0) - (MULTIPLE-VALUE-LIST (RAYLEIGH-P 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8824969025845955d0) - (MULTIPLE-VALUE-LIST (RAYLEIGH-Q 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0000000000000002d0) - (MULTIPLE-VALUE-LIST - (RAYLEIGH-PINV 0.1175030974154046d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.9999999999999998d0) - (MULTIPLE-VALUE-LIST - (RAYLEIGH-QINV 0.8824969025845955d0 2.0d0)))) - diff --git a/random/shuffling-sampling.lisp b/random/shuffling-sampling.lisp index 4595a248542cbaecc683c9038c988b3659e8c05e..1fe33b9b2f5f9fbc5c60ff2a09ac1a834c510539 100644 --- a/random/shuffling-sampling.lisp +++ b/random/shuffling-sampling.lisp @@ -1,6 +1,6 @@ ;; Shuffling and sampling ;; Liam Healy, Sat Dec 2 2006 - 18:40 -;; Time-stamp: <2008-09-14 21:41:43EDT shuffling-sampling.lisp> +;; Time-stamp: <2008-10-25 18:16:45EDT shuffling-sampling.lisp> ;; $Id$ (in-package :gsl) @@ -56,46 +56,18 @@ in this case.") ;;; Examples and unit test -#| -(make-tests shuffling-sampling +(save-test shuffling-sampling (letm ((rng (random-number-generator *mt19937* 0)) - (v1 (vector-fixnum #(1 2 3 4 5 6 7 8)))) + (v1 (vector-signed-byte-32 (a 1 2 3 4 5 6 7 8)))) (shuffle rng v1) - (data v1)) + (cl-array v1)) (letm ((rng (random-number-generator *mt19937* 0)) - (v1 (vector-fixnum #(1 2 3 4 5 6 7 8))) - (v2 (vector-fixnum 4))) + (v1 (vector-signed-byte-32 (a 1 2 3 4 5 6 7 8))) + (v2 (vector-signed-byte-32 4))) (choose-random rng v2 v1) - (data v2)) + (cl-array v2)) (letm ((rng (random-number-generator *mt19937* 0)) - (v1 (vector-fixnum #(1 2 3 4 5 6 7 8))) - (v2 (vector-fixnum 10))) + (v1 (vector-signed-byte-32 (a 1 2 3 4 5 6 7 8))) + (v2 (vector-signed-byte-32 10))) (sample rng v2 v1) - (data v2))) - -(LISP-UNIT:DEFINE-TEST SHUFFLING-SAMPLING - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(4 3 6 1 5 7 2 8)) - (MULTIPLE-VALUE-LIST - (LETM - ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0)) - (V1 (VECTOR-FIXNUM #(1 2 3 4 5 6 7 8)))) - (SHUFFLE RNG V1) (DATA V1)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(2 3 5 8)) - (MULTIPLE-VALUE-LIST - (LETM - ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0)) - (V1 (VECTOR-FIXNUM #(1 2 3 4 5 6 7 8))) - (V2 (VECTOR-FIXNUM 4))) - (CHOOSE-RANDOM RNG V2 V1) - (DATA V2)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(8 2 3 8 2 4 8 6 5 6)) - (MULTIPLE-VALUE-LIST - (LETM - ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0)) - (V1 (VECTOR-FIXNUM #(1 2 3 4 5 6 7 8))) - (V2 (VECTOR-FIXNUM 10))) - (SAMPLE RNG V2 V1) (DATA V2))))) -|# + (cl-array v2))) diff --git a/random/spherical-vector.lisp b/random/spherical-vector.lisp index 457253cdba6d778574aa4cfc0c3058923bdea949..a8be9fb1f83e94fa57e364ad2316f5125ecbc455 100644 --- a/random/spherical-vector.lisp +++ b/random/spherical-vector.lisp @@ -1,6 +1,6 @@ ;; Spherical Vector distribution ;; Liam Healy, Sun Oct 22 2006 -;; Time-stamp: <2008-08-16 18:43:18EDT spherical-vector.lisp> +;; Time-stamp: <2008-10-25 18:17:49EDT spherical-vector.lisp> ;; $Id$ (in-package :gsl) @@ -56,8 +56,7 @@ Mathematics for the Engineer (1956).") ;;; Examples and unit test -#| -(make-tests spherical-vector +(save-test spherical-vector (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 4 append @@ -70,43 +69,3 @@ (loop for i from 0 to 2 append (multiple-value-list (direction-3d rng))))) -|# - -(LISP-UNIT:DEFINE-TEST SPHERICAL-VECTOR - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST -0.617745613497854d0 -0.7863779988047479d0 - 0.993748310886084d0 0.1116436053298841d0 - -0.9458104280982743d0 0.3247193158722761d0 - 0.45726622946182216d0 0.8893298574734622d0 - -0.46325616159849964d0 -0.8862244234622655d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 4 APPEND - (MULTIPLE-VALUE-LIST - (DIRECTION-2D RNG)))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.9999986835208556d0 -0.0016226387631051197d0 - 0.5203010106077766d0 0.8539829379797504d0 - -0.2035120531038584d0 0.9790724407527016d0 - 0.9454753227485545d0 -0.3256937427607672d0 - 0.11500033916619544d0 0.9933654523848008d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 4 APPEND - (MULTIPLE-VALUE-LIST - (DIRECTION-2D-TRIG-METHOD RNG)))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST -0.09129925750445994d0 0.18782185357162273d0 - 0.977950610665004d0 -0.9051182961559773d0 - -0.050683764485791594d0 -0.4221279734645046d0 - 0.13993766535985133d0 0.8385462620524484d0 - -0.526552576872909d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 2 APPEND - (MULTIPLE-VALUE-LIST - (DIRECTION-3D RNG))))))) - diff --git a/random/tdist.lisp b/random/tdist.lisp index 57a037db8eeda110267c00d9542de6fd89a10390..c0a7f994880c8fa6d165a6ee0774c3b6c925a1cf 100644 --- a/random/tdist.lisp +++ b/random/tdist.lisp @@ -1,6 +1,6 @@ ;; Tdist distribution ;; Liam Healy, Sat Oct 7 2006 - 16:13 -;; Time-stamp: <2008-02-17 13:16:23EST tdist.lisp> +;; Time-stamp: <2008-10-25 18:18:44EDT tdist.lisp> ;; $Id$ (in-package :gsl) @@ -53,8 +53,7 @@ Q(x) for the tdist distribution with nu degrees of freedom.") ;;; Examples and unit test -#| -(make-tests tdist +(save-test tdist (letm ((rng (random-number-generator *mt19937* 0))) (rng-set rng 0) (loop for i from 0 to 10 @@ -65,35 +64,3 @@ (tdist-Q 0.5d0 1.0d0) (tdist-Pinv 0.6475836176504334d0 1.0d0) (tdist-Qinv 0.3524163823495667d0 1.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST TDIST - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.14989366374481017d0 0.6794142879291215d0 - -1.615833951108472d0 -1.6008862825783456d0 - -1.7010935505767397d0 -0.04370959749808691d0 - 0.12761159276595174d0 -0.019731218255494867d0 - -0.6534666117199732d0 0.2035771324523077d0 - 1.77650300477611d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (RNG-SET RNG 0) - (LOOP FOR I FROM 0 TO 10 COLLECT - (TDIST RNG 10.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.2546479089470325d0) - (MULTIPLE-VALUE-LIST (TDIST-PDF 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6475836176504332d0) - (MULTIPLE-VALUE-LIST (TDIST-P 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.35241638234956685d0) - (MULTIPLE-VALUE-LIST (TDIST-Q 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.500000000000001d0) - (MULTIPLE-VALUE-LIST - (TDIST-PINV 0.6475836176504334d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5d0) - (MULTIPLE-VALUE-LIST (TDIST-QINV 0.3524163823495667d0 1.0d0)))) diff --git a/random/weibull.lisp b/random/weibull.lisp index 97ac33df213630c896f2c5b736a5793badc56f1e..e1c44209ea5bf02fa1b9b6ab7a6675ee7b29cb25 100644 --- a/random/weibull.lisp +++ b/random/weibull.lisp @@ -1,6 +1,6 @@ ;; Weibull distribution ;; Liam Healy, Sun Oct 22 2006 -;; Time-stamp: <2008-02-17 13:30:33EST weibull.lisp> +;; Time-stamp: <2008-10-25 18:20:28EDT weibull.lisp> ;; $Id$ (in-package :gsl) @@ -51,8 +51,7 @@ Q(x) for the Weibull distribution exponent a and scale b.") ;;; Examples and unit test -#| -(make-tests weibull +(save-test weibull (letm ((rng (random-number-generator *mt19937* 0))) (loop for i from 0 to 10 collect @@ -62,34 +61,3 @@ (weibull-Q 3.5d0 1.3d0 2.0d0) (weibull-Pinv 0.9992887742799077d0 1.3d0 2.0d0) (weibull-Qinv 7.112257200923508d-4 1.3d0 2.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST WEIBULL - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.0160712303786595d0 1.347055359960668d0 - 1.1241262408795445d0 0.2329031397826649d0 - 1.209338423856536d0 0.8506825453443836d0 - 0.20845532973957762d0 0.5434187344070215d0 - 0.7849237503774361d0 0.5487883320132739d0 - 0.5239377808419179d0)) - (MULTIPLE-VALUE-LIST - (LETM ((RNG (RANDOM-NUMBER-GENERATOR *MT19937* 0))) - (LOOP FOR I FROM 0 TO 10 COLLECT - (WEIBULL RNG 1.0d0 2.0d0))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.24263174972226745d0) - (MULTIPLE-VALUE-LIST (WEIBULL-PDF 1.5d0 1.3d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.9992887742799077d0) - (MULTIPLE-VALUE-LIST (WEIBULL-P 3.5d0 1.3d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 7.112257200923508d-4) - (MULTIPLE-VALUE-LIST (WEIBULL-Q 3.5d0 1.3d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.5000000000000164d0) - (MULTIPLE-VALUE-LIST - (WEIBULL-PINV 0.9992887742799077d0 1.3d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.5d0) - (MULTIPLE-VALUE-LIST (WEIBULL-QINV 7.112257200923508d-4 1.3d0 2.0d0)))) diff --git a/sorting.lisp b/sorting.lisp index 7885702a91c271be3e7d081e1a8f3ccf7ea5aac1..d3ed19427c761fda1f42a0dd22928252cb79b0df 100644 --- a/sorting.lisp +++ b/sorting.lisp @@ -1,6 +1,6 @@ ;; Sorting ;; Liam Healy, Fri Apr 14 2006 - 20:20 -;; Time-stamp: <2008-09-20 22:29:33EDT sorting.lisp> +;; Time-stamp: <2008-10-25 12:00:37EDT sorting.lisp> ;; $Id$ (in-package :gsl) @@ -243,8 +243,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests sorting +(save-test sorting (letm ((vec (vector-double-float (a 7.1d0 -2.0d0 12.8d0 -3.21d0 1.0d0)))) (sort-vector vec) (cl-array vec)) @@ -269,55 +268,4 @@ (letm ((vec (vector-double-float (a 7.1d0 -2.0d0 12.8d0 -3.21d0 1.0d0))) (comb (combination '(5 3)))) (cl-array (sort-vector-largest-index comb vec)))) -|# - -(LISP-UNIT:DEFINE-TEST SORTING - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(-3.21 -2.0 1.0 7.1 12.8)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A 7.1 -2.0 12.8 -3.21 1.0)))) - (SORT-VECTOR VEC) (CL-ARRAY VEC)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(3 1 4 0 2)) - (MULTIPLE-VALUE-LIST - (LETM ((PERM (PERMUTATION 5)) - (VEC (VECTOR-DOUBLE-FLOAT (A 7.1 -2.0 12.8 -3.21 1.0)))) - (SORT-VECTOR-INDEX PERM VEC) - (CL-ARRAY PERM)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(-3.21 -2.0 1.0)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A 7.1 -2.0 12.8 -3.21 1.0))) - (SMALLEST (VECTOR-DOUBLE-FLOAT 3))) - (SORT-VECTOR-SMALLEST SMALLEST VEC) - (CL-ARRAY SMALLEST)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(3 1 4)) - (MULTIPLE-VALUE-LIST - (LETM - ((VEC (VECTOR-DOUBLE-FLOAT - (A 7.1 -2.0 12.8 -3.21 1.0))) - (COMB (COMBINATION '(5 3)))) - (CL-ARRAY (SORT-VECTOR-SMALLEST-INDEX COMB VEC))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(3 1 4)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT - (A 7.1 -2.0 12.8 -3.21 1.0))) - (SM (COMBINATION '(5 3)))) - (CL-ARRAY (SORT-SMALLEST-INDEX SM VEC))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(12.8 7.1 1.0)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A 7.1 -2.0 12.8 -3.21 1.0))) - (LARGEST (VECTOR-DOUBLE-FLOAT 3))) - (SORT-VECTOR-LARGEST LARGEST VEC) - (CL-ARRAY LARGEST)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(2 0 4)) - (MULTIPLE-VALUE-LIST - (LETM - ((VEC (VECTOR-DOUBLE-FLOAT (A 7.1 -2.0 12.8 -3.21 1.0))) - (COMB (COMBINATION '(5 3)))) - (CL-ARRAY (SORT-VECTOR-LARGEST-INDEX COMB VEC)))))) diff --git a/special-functions/bessel.lisp b/special-functions/bessel.lisp index 3c1796b434064d03bff5d5eaed11991e9e3685e2..391ca0ecc41e096caab8de12542cd210486f04b7 100644 --- a/special-functions/bessel.lisp +++ b/special-functions/bessel.lisp @@ -1,6 +1,6 @@ ;; Bessel functions ;; Liam Healy, Fri Mar 17 2006 - 18:42 -;; Time-stamp: <2008-10-21 22:39:32EDT bessel.lisp> +;; Time-stamp: <2008-10-23 22:37:15EDT bessel.lisp> ;; $Id$ (in-package :gsl) @@ -451,8 +451,6 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| - ;; This bizarrely causes a division-by-zero error ;; (bessel-jnu 3.0d0 4.0d0) ;; in macroexpansion the form from within SLIME using SBCL (expands @@ -540,7 +538,3 @@ (bessel-zero-J0 5) (bessel-zero-J1 5) (bessel-zero-Jnu 2.0d0 5)) - - - - diff --git a/special-functions/coupling.lisp b/special-functions/coupling.lisp index 7b1ee962fba010d3c98ceca432fc384a583cd5b4..c067112528a35d90b32069f18d76f3d741ac2ca9 100644 --- a/special-functions/coupling.lisp +++ b/special-functions/coupling.lisp @@ -1,6 +1,6 @@ ;; Coupling coefficients ;; Liam Healy, Sun Mar 19 2006 - 13:30 -;; Time-stamp: <2008-10-21 22:48:31EDT coupling.lisp> +;; Time-stamp: <2008-10-23 22:39:07EDT coupling.lisp> ;; $Id$ (in-package :gsl) @@ -56,7 +56,7 @@ section are declared in the header file gsl_sf_coupling.h. ja = two_ja/2, ma = two_ma/2, etc.") ;; Check with online calculator http://www-stone.ch.cam.ac.uk/wigner.html -(save-tests coupling +(save-test coupling (coupling-3j 0 1 1 0 1 -1) (coupling-6j 1 1 2 0 2 1) (coupling-9j 1 1 2 1 2 1 2 1 1)) diff --git a/special-functions/error-functions.lisp b/special-functions/error-functions.lisp index 549e7ea7423de8b319cafb86099a5b9ae0503480..cfb8c479aea9902ed2961ec9faf2ac5d8daa5882 100644 --- a/special-functions/error-functions.lisp +++ b/special-functions/error-functions.lisp @@ -1,6 +1,6 @@ ;; Error functions ;; Liam Healy, Mon Mar 20 2006 - 22:31 -;; Time-stamp: <2008-02-16 20:54:49EST error-functions.lisp> +;; Time-stamp: <2008-10-23 22:50:45EDT error-functions.lisp> ;; $Id$ (in-package :gsl) @@ -39,33 +39,11 @@ :documentation ; FDL "The hazard function for the normal distribution.") -#| -(make-tests error-functions +(save-test error-functions (erf 1.0d0) (erfc 1.0d0) (log-erfc 1.0d0) (erf-z 1.0d0) (erf-q 1.0d0) (hazard 1.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST ERROR-FUNCTIONS - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8427007929497149d0 7.789237746491556d-16) - (MULTIPLE-VALUE-LIST (ERF 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.1572992070502851d0 4.0468944536809554d-16) - (MULTIPLE-VALUE-LIST (ERFC 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -1.8496055099332485d0 3.394126565390616d-15) - (MULTIPLE-VALUE-LIST (LOG-ERFC 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.24197072451914334d0 1.611848817878303d-16) - (MULTIPLE-VALUE-LIST (ERF-Z 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.15865525393145707d0 2.832400331480832d-16) - (MULTIPLE-VALUE-LIST (ERF-Q 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.5251352761609807d0 5.532094155354489d-15) - (MULTIPLE-VALUE-LIST (HAZARD 1.0d0)))) diff --git a/special-functions/exponential-functions.lisp b/special-functions/exponential-functions.lisp index 80c40f492536de8cb7e5207084262664a042d345..a361eb0ad2b2c1811663a5ee6633d357d176a2e5 100644 --- a/special-functions/exponential-functions.lisp +++ b/special-functions/exponential-functions.lisp @@ -1,6 +1,6 @@ ;; Exponential functions ;; Liam Healy, Tue Mar 21 2006 - 17:05 -;; Time-stamp: <2008-09-16 22:51:18EDT exponential-functions.lisp> +;; Time-stamp: <2008-10-23 22:55:32EDT exponential-functions.lisp> ;; $Id$ (in-package :gsl) @@ -94,8 +94,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests exponential-functions +(save-test exponential-functions (gsl-exp 3.0d0) (exp-scaled 2000.0d0) (exp-mult 101.0d0 5.0d0) @@ -106,39 +105,3 @@ (exprel-n 3 0.001d0) (exp-err 3.0d0 0.001d0) (exp-mult-err 3.0d0 0.001d0 23.0d0 0.001d0)) -|# - -(LISP-UNIT:DEFINE-TEST EXPONENTIAL-FUNCTIONS - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 20.085536923187668d0 8.91977022163267d-15) - (MULTIPLE-VALUE-LIST (GSL-EXP 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.8811801942838993 868 3.448904081776264e-12) - (MULTIPLE-VALUE-LIST (EXP-SCALED 2000.0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.6535299896840335d44 8.355840218353793d30) - (MULTIPLE-VALUE-LIST (EXP-MULT 101.0d0 5.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0908344123363103d0 243 2.7201204352005766d-15) - (MULTIPLE-VALUE-LIST - (EXP-MULT-SCALED 555.0d0 101.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0000500016667085d-4 4.441114150507224d-20) - (MULTIPLE-VALUE-LIST (EXPM1 1.d-4))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0000500016667084d0 4.4411141505072235d-16) - (MULTIPLE-VALUE-LIST (EXPREL 1.d-4))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0003334166833362d0 4.442372766015162d-16) - (MULTIPLE-VALUE-LIST (EXPREL-2 0.001d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0002500500083344d0 2.665201526164121d-15) - (MULTIPLE-VALUE-LIST (EXPREL-N 3 0.001d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 20.085536923187668d0 0.04017108054156605d0) - (MULTIPLE-VALUE-LIST (EXP-ERR 3.0d0 0.001d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 461.9673492333164d0 0.4820528861567092d0) - (MULTIPLE-VALUE-LIST - (EXP-MULT-ERR 3.0d0 0.001d0 23.0d0 0.001d0)))) - diff --git a/special-functions/exponential-integrals.lisp b/special-functions/exponential-integrals.lisp index f91dc5f70c1f93fdfbf4ca122408dc9628c0ae76..8ba30a613053859deb4f463b7bea12c5b0aa18be 100644 --- a/special-functions/exponential-integrals.lisp +++ b/special-functions/exponential-integrals.lisp @@ -1,6 +1,6 @@ ;; Exponential integrals ;; Liam Healy, Tue Mar 21 2006 - 17:37 -;; Time-stamp: <2008-03-27 21:29:32EDT exponential-integrals.lisp> +;; Time-stamp: <2008-10-23 22:56:59EDT exponential-integrals.lisp> ;; $Id$ (in-package :gsl) @@ -86,12 +86,11 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| ;;; Macroexpanding in SLIME with slime-macroexpand-1 will produce the ;;; wrong error type for the first test. Instead, evaluate in ;;; listener with (macroexpand-1 '(make-tests ... )). -(make-tests exponential-integrals +(save-test exponential-integrals (expint-E1 0.0d0) (expint-E1 1.0d0) (expint-Ei 2.0d0) @@ -101,7 +100,6 @@ (si 1.25d0) (ci 1.25d0) (atanint 1.25d0)) -|# (LISP-UNIT:DEFINE-TEST EXPONENTIAL-INTEGRALS (LISP-UNIT:ASSERT-ERROR 'GSL-CONDITION (EXPINT-E1 0.0d0)) diff --git a/special-functions/fermi-dirac.lisp b/special-functions/fermi-dirac.lisp index f58d0cfa2daa444beacadca7f72c9d9d60cba908..9e2e32dadff181bf07c3d334530631e201dd76a4 100644 --- a/special-functions/fermi-dirac.lisp +++ b/special-functions/fermi-dirac.lisp @@ -1,6 +1,6 @@ ;; Fermi-Dirac function. ;; Liam Healy, Sat Apr 22 2006 - 16:12 -;; Time-stamp: <2008-02-16 21:37:25EST fermi-dirac.lisp> +;; Time-stamp: <2008-10-23 22:58:29EDT fermi-dirac.lisp> ;; $Id$ (in-package :gsl) @@ -68,8 +68,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests fermi-dirac +(save-test fermi-dirac (fermi-dirac-m1 0.5d0) (fermi-dirac-0 0.75d0) (fermi-dirac-1 -0.75d0) @@ -79,33 +78,3 @@ (fermi-dirac-1/2 2.0d0) (fermi-dirac-3/2 2.0d0) (fermi-dirac-inc-0 2.0d0 0.5d0)) -|# - -(LISP-UNIT:DEFINE-TEST FERMI-DIRAC - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6224593312018546d0 4.040305821324309d-16) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-M1 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.1368710061148999d0 1.6653345369377348d-16) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-0 0.75d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.42589430612383183d0 5.594591187346375d-16) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-1 -0.75d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.1301630162645293d0 6.04246936785309d-16) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-2 0.25d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 6668.827087650077d0 2.1696654306572242d-10) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-INTEGRAL 5 12.35d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.4642945890876293d0 4.053118505064653d-15) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-M1/2 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.8237212774015843d0 2.909989668869937d-15) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-1/2 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 4.165414459868321d0 3.666976569654393d-15) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-3/2 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.7014132779827524d0 8.881784197001252d-16) - (MULTIPLE-VALUE-LIST (FERMI-DIRAC-INC-0 2.0d0 0.5d0)))) diff --git a/special-functions/gamma.lisp b/special-functions/gamma.lisp index 53bd73931a72e19603e0aebc52e16baef035d137..ce2ba1c7ab1a637da1c401544e4af594acaed9b4 100644 --- a/special-functions/gamma.lisp +++ b/special-functions/gamma.lisp @@ -1,6 +1,6 @@ ;; Gamma functions ;; Liam Healy, Thu Apr 27 2006 - 22:06 -;; Time-stamp: <2008-07-12 13:44:42EDT gamma.lisp> +;; Time-stamp: <2008-10-23 23:02:09EDT gamma.lisp> ;; $Id$ (in-package :gsl) @@ -187,8 +187,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests gamma +(save-test gamma (gamma -1.0d0) (gamma 6.0d0) (log-gamma -100.0d0) @@ -215,85 +214,3 @@ (beta 5.50d0 1.0d0) (log-beta 5.5d0 1.0d0) (incomplete-beta 1.0d0 1.50d0 0.50d0)) -|# - -(LISP-UNIT:DEFINE-TEST GAMMA - (LISP-UNIT:ASSERT-ERROR 'GSL-CONDITION (GAMMA -1.0d0)) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 120.0d0 2.6645352591003757d-14) - (MULTIPLE-VALUE-LIST (GAMMA 6.0d0))) - (LISP-UNIT:ASSERT-ERROR 'GSL-CONDITION (LOG-GAMMA -100.0d0)) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 359.13420536957534d0 2.4544868717695813d-13) - (MULTIPLE-VALUE-LIST (LOG-GAMMA 100.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 359.13420536957534d0 1.0d0 - 2.4544868717695813d-13) - (MULTIPLE-VALUE-LIST (LOG-GAMMA-SIGN 100.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0034780558311105d0 4.456337769159149d-16) - (MULTIPLE-VALUE-LIST (GAMMA* 24.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.984126984126984d-4 1.3216940769347103d-19) - (MULTIPLE-VALUE-LIST (1/GAMMA 8.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 8.236131750448724d0 -1.1840378149363078d0 - 7.315154482555574d-15 2.1796539969587586d-14) - (MULTIPLE-VALUE-LIST - (LOG-GAMMA-COMPLEX #C(10.0d0 10.0d0)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.0011094764610389606d0 2.956239149580215d-18) - (MULTIPLE-VALUE-LIST (TAYLOR-COEFFICIENT 12 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 4.790016d8 0.0d0) - (MULTIPLE-VALUE-LIST (FACTORIAL 12))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 46080.0d0 0.0d0) - (MULTIPLE-VALUE-LIST (DOUBLE-FACTORIAL 12))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 857.9336698258575d0 5.777158772429952d-13) - (MULTIPLE-VALUE-LIST (LOG-FACTORIAL 199))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 430.17789358084747d0 1.9103736085528287d-13) - (MULTIPLE-VALUE-LIST (LOG-DOUBLE-FACTORIAL 199))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 56.0d0 7.460698725481052d-14) - (MULTIPLE-VALUE-LIST (CHOOSE 8 3))) - (LISP-UNIT:ASSERT-ERROR 'GSL-CONDITION (CHOOSE 3 8)) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 29.422274169864693d0 1.9338924605168215d-13) - (MULTIPLE-VALUE-LIST (LOG-CHOOSE 67 12))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 12.0d0 6.927791673660977d-14) - (MULTIPLE-VALUE-LIST (POCHAMMER 3.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 863.2319871924054d0 9.645972767118375d-13) - (MULTIPLE-VALUE-LIST (LOG-POCHAMMER 2.0d0 199.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 863.2319871924054d0 1.0d0 9.645972767118375d-13) - (MULTIPLE-VALUE-LIST - (LOG-POCHAMMER-SIGN 2.0d0 199.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 403199.88888888917d0 3.5998302729212807d-9) - (MULTIPLE-VALUE-LIST (RELATIVE-POCHAMMER 2.0d0 9.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.40600584970983766d0 9.568405127077496d-16) - (MULTIPLE-VALUE-LIST (INCOMPLETE-GAMMA 2.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5939941502901611d0 3.510166705531295d-15) - (MULTIPLE-VALUE-LIST - (COMPLEMENTARY-INCOMPLETE-GAMMA 2.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.40600584970983766d0 1.2272947381959672d-15) - (MULTIPLE-VALUE-LIST - (NONNORMALIZED-INCOMPLETE-GAMMA 2.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.1818181818181818d0 1.0189782228738177d-15) - (MULTIPLE-VALUE-LIST (BETA 5.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -1.7047480922384253d0 3.81791013808375d-15) - (MULTIPLE-VALUE-LIST (LOG-BETA 5.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6464466094067263d0 1.0178662453689468d-14) - (MULTIPLE-VALUE-LIST - (INCOMPLETE-BETA 1.0d0 1.5d0 0.5d0)))) diff --git a/special-functions/gegenbauer.lisp b/special-functions/gegenbauer.lisp index dcb1a454b394f111bd60c6d8356a1be9e17cfa22..ee65117c6b19ba66e327c3987d9785aac25abe4b 100644 --- a/special-functions/gegenbauer.lisp +++ b/special-functions/gegenbauer.lisp @@ -1,6 +1,6 @@ ;; Gegenbauer polynomials ;; Liam Healy, Fri Apr 28 2006 - 20:40 -;; Time-stamp: <2008-09-14 21:38:13EDT gegenbauer.lisp> +;; Time-stamp: <2008-10-23 23:09:12EDT gegenbauer.lisp> ;; $Id$ (in-package :gsl) @@ -43,31 +43,10 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests gegenbauer +(save-test gegenbauer (gegenbauer-1 1.0d0 3.0d0) (gegenbauer-2 1.0d0 3.0d0) (gegenbauer-3 1.0d0 3.0d0) (gegenbauer 4 1.0d0 3.0d0) (letm ((arr (vector-double-float 4))) (gegenbauer-array 1.0d0 3.0d0 arr) (cl-array arr))) -|# - -(LISP-UNIT:DEFINE-TEST GEGENBAUER - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 6.0d0 5.329070518200751d-15) - (MULTIPLE-VALUE-LIST (GEGENBAUER-1 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 35.0d0 1.5765166949677223d-14) - (MULTIPLE-VALUE-LIST (GEGENBAUER-2 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 204.0d0 9.126033262418787d-14) - (MULTIPLE-VALUE-LIST (GEGENBAUER-3 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1189.0d0 1.056044141023449d-12) - (MULTIPLE-VALUE-LIST (GEGENBAUER 4 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(1.0d0 6.0d0 35.0d0 204.0d0)) - (MULTIPLE-VALUE-LIST - (LETM ((ARR (VECTOR-DOUBLE-FLOAT 4))) - (GEGENBAUER-ARRAY 1.0d0 3.0d0 ARR) (CL-ARRAY ARR))))) diff --git a/special-functions/hypergeometric.lisp b/special-functions/hypergeometric.lisp index ed4a75b2dcdb02f6f54f7205aba228cdb718134e..bda87c05a42c0480693f9e7f2e6fe39a3964cf69 100644 --- a/special-functions/hypergeometric.lisp +++ b/special-functions/hypergeometric.lisp @@ -1,6 +1,6 @@ ;; Hypergeometric function ;; Liam Healy, Fri Apr 28 2006 - 23:00 -;; Time-stamp: <2008-07-10 21:40:45EDT hypergeometric.lisp> +;; Time-stamp: <2008-10-23 23:11:41EDT hypergeometric.lisp> ;; $Id$ (in-package :gsl) @@ -115,8 +115,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests hypergeometric +(save-test hypergeometric (hypergeometric-0f1 0.5d0 1.0d0) (hypergeometric-1F1 2 1 1.0d0) (hypergeometric-1F1 2.0d0 1.0d0 1.0d0) @@ -129,52 +128,4 @@ (hypergeometric-2F1-conj-renorm #C(1.0d0 0.5d0) 0.5d0 0.6d0) (hypergeometric-2F1-renorm 1.0d0 1.2d0 1.0d0 0.5d0) (hypergeometric-2F0 1.0d0 2.0d0 -20.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST HYPERGEOMETRIC - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.7621956910836287d0 9.207469176703522d-14) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-0F1 0.5d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 5.43656365691809d0 6.0357981467508045d-15) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-1F1 2 1 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 5.43656365691809d0 6.0357981467508045d-15) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-1F1 2.0d0 1.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.19269472464638984d0 2.5468520714552053d-12) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-U 2.0d0 1.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.19269472464638984d0 2.5468520714552053d-12) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-U 2 1 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.19269472464638984d0 0 2.5468520714552053d-12) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-U-E10 2.0d0 1.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.19269472464638984d0 0 2.5468520714552053d-12) - (MULTIPLE-VALUE-LIST (HYPERGEOMETRIC-U-E10 2 1 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.29739670999407d0 2.0404981793068d-15) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-2F1 1.0d0 1.2d0 1.0d0 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 6.629594934547447d0 5.761143589129193d-14) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-2F1-CONJ #C(1.0d0 0.5d0) 0.5d0 - 0.6d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 3.7403484052126372d0 5.884558632199498d-14) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-2F1-CONJ-RENORM #C(1.0d0 0.5d0) 0.5d0 - 0.6d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.29739670999407d0 3.0607472689602005d-15) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-2F1-RENORM 1.0d0 1.2d0 1.0d0 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.043513924125598485d0 3.81571654717325d-15) - (MULTIPLE-VALUE-LIST - (HYPERGEOMETRIC-2F0 1.0d0 2.0d0 -20.0d0)))) + diff --git a/special-functions/laguerre.lisp b/special-functions/laguerre.lisp index efe97faa306f71a05dcb47fe9ead084a34a51f6f..14e6d6a21584b184cfe67ae48b0c8acb134dde42 100644 --- a/special-functions/laguerre.lisp +++ b/special-functions/laguerre.lisp @@ -1,6 +1,6 @@ ;; Laguerre polynomials ;; Liam Healy, Fri Apr 28 2006 - 20:40 -;; Time-stamp: <2008-02-16 22:16:49EST laguerre.lisp> +;; Time-stamp: <2008-10-25 10:56:55EDT laguerre.lisp> ;; $Id$ (in-package :gsl) @@ -32,27 +32,12 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| ;;; Don't slime-macroexpand-1, the last one will produce an error that ;;; shouldn't be there. -(make-tests laguerre +(save-test laguerre (laguerre-1 1.0d0 3.0d0) (laguerre-2 1.0d0 3.0d0) (laguerre-3 1.0d0 3.0d0) (laguerre 4 1.0d0 3.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST LAGUERRE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -1.0d0 2.220446049250313d-15) - (MULTIPLE-VALUE-LIST (LAGUERRE-1 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -1.5d0 1.7985612998927536d-14) - (MULTIPLE-VALUE-LIST (LAGUERRE-2 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.5d0 6.59472476627343d-14) - (MULTIPLE-VALUE-LIST (LAGUERRE-3 1.0d0 3.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.875d0 6.793349802129357d-14) - (MULTIPLE-VALUE-LIST (LAGUERRE 4 1.0d0 3.0d0)))) + diff --git a/special-functions/lambert.lisp b/special-functions/lambert.lisp index 63c0de9fc6698e9ff7f5c2207418dfdc932c4ff8..bbb2cc2a76e963f837b46d13e7a9207816a438d8 100644 --- a/special-functions/lambert.lisp +++ b/special-functions/lambert.lisp @@ -1,6 +1,6 @@ ;; Lambert's W functions ;; Liam Healy, Fri Apr 28 2006 - 20:40 -;; Time-stamp: <2008-02-16 22:19:40EST lambert.lisp> +;; Time-stamp: <2008-10-25 10:59:17EDT lambert.lisp> ;; $Id$ (in-package :gsl) @@ -30,16 +30,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests lambert +(save-test lambert (lambert-W0 1.0d0) (lambert-Wm1 1.0d0)) -|# -(LISP-UNIT:DEFINE-TEST LAMBERT - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5671432904097838d0 2.518622157098455d-16) - (MULTIPLE-VALUE-LIST (LAMBERT-W0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5671432904097838d0 2.518622157098455d-16) - (MULTIPLE-VALUE-LIST (LAMBERT-WM1 1.0d0)))) diff --git a/special-functions/legendre.lisp b/special-functions/legendre.lisp index ae3cd8d77d83086e6b4e8d5fc89d70ecc7fc8d85..ed2f3d5c616b58ea673cab4154fb7523b22aac76 100644 --- a/special-functions/legendre.lisp +++ b/special-functions/legendre.lisp @@ -1,6 +1,6 @@ ;; Legendre functions ;; Liam Healy, Sat Apr 29 2006 - 19:16 -;; Time-stamp: <2008-09-14 21:38:13EDT legendre.lisp> +;; Time-stamp: <2008-10-25 11:02:54EDT legendre.lisp> ;; $Id$ (in-package :gsl) @@ -251,8 +251,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests legendre +(save-test legendre (legendre-P1 0.3d0) (legendre-P2 0.3d0) (legendre-P3 0.3d0) @@ -293,115 +292,4 @@ (letm ((arr (vector-double-float 4))) (legendre-h3d-array 1.0d0 0.5d0 arr) (cl-array arr))) -|# - -(LISP-UNIT:DEFINE-TEST LEGENDRE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL (LIST 0.3d0 0.0d0) - (MULTIPLE-VALUE-LIST - (LEGENDRE-P1 - 0.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.365d0 2.8199664825478977d-16) - (MULTIPLE-VALUE-LIST (LEGENDRE-P2 0.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.38249999999999995d0 1.9984014443252816d-16) - (MULTIPLE-VALUE-LIST (LEGENDRE-P3 0.3d0))) - (LISP-UNIT:ASSERT-ERROR 'GSL-CONDITION - (LEGENDRE-PL -4 0.3d0)) - (LISP-UNIT:ASSERT-ERROR 'GSL-CONDITION - (LEGENDRE-PL 4 3.0d0)) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.07293749999999999d0 5.668382430101814d-17) - (MULTIPLE-VALUE-LIST (LEGENDRE-PL 4 0.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(1.0d0 0.5d0 -0.125d0 -0.4375d0)) - (MULTIPLE-VALUE-LIST - (LETM ((ARR (VECTOR-DOUBLE-FLOAT 4))) - (LEGENDRE-PL-ARRAY 0.5d0 ARR) (CL-ARRAY ARR)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.3128529498822064d0 1.3893461931245028d-16) - (MULTIPLE-VALUE-LIST (LEGENDRE-Q0 3.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.03241473461128108d0 1.4395033881023292d-17) - (MULTIPLE-VALUE-LIST (LEGENDRE-Q1 3.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.004026461384737812d0 1.788108054840004d-18) - (MULTIPLE-VALUE-LIST (LEGENDRE-QL 2 3.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -34.099750274012266d0 3.0286662310541114d-14) - (MULTIPLE-VALUE-LIST (LEGENDRE-PLM 4 3 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(2.25d0 5.625d0 4.21875d0 -4.921875d0)) - (MULTIPLE-VALUE-LIST - (LETM ((ARR (VECTOR-DOUBLE-FLOAT 4))) - (LEGENDRE-PLM-ARRAY 2 0.5d0 ARR) (CL-ARRAY ARR)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #(-3.0d0 3.75d0 33.75d0 55.78125d0)) - (MULTIPLE-VALUE-LIST - (LETM - ((VAL (VECTOR-DOUBLE-FLOAT 4)) (DERIV (VECTOR-DOUBLE-FLOAT 4))) - (LEGENDRE-PLM-DERIV-ARRAY 2 0.5d0 VAL DERIV) - (CL-ARRAY DERIV)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.30366280894310793d0 3.438761110552081d-15) - (MULTIPLE-VALUE-LIST - (LEGENDRE-SPHPLM 1200 1100 0.3d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - #(0.24892463950030283d0 0.4127948151484927d0 - 0.35120655562190445d0 0.051599351893561574d0)) - (MULTIPLE-VALUE-LIST - (LETM ((ARR (VECTOR-DOUBLE-FLOAT 4))) - (LEGENDRE-SPHPLM-ARRAY 4 0.5d0 ARR) - (CL-ARRAY ARR)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - #(-0.6637990386674741d0 -0.2751965434323283d0 - 1.2710332489173686d0 2.648766730536161d0)) - (MULTIPLE-VALUE-LIST - (LETM - ((VAL (VECTOR-DOUBLE-FLOAT 4)) (DERIV (VECTOR-DOUBLE-FLOAT 4))) - (LEGENDRE-SPHPLM-DERIV-ARRAY 4 0.5d0 VAL DERIV) - (CL-ARRAY DERIV)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.1255299048878925d0 1.3395992025650077d-15) - (MULTIPLE-VALUE-LIST - (LEGENDRE-CONICALP-HALF 3.5d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.06274336292793128d0 2.504525777730328d-16) - (MULTIPLE-VALUE-LIST - (LEGENDRE-CONICALP-MHALF 3.5d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.1316366189368757d0 3.0865532615549887d-15) - (MULTIPLE-VALUE-LIST - (LEGENDRE-CONICALP-0 3.5d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.17407195560076358d0 4.024312727070929d-15) - (MULTIPLE-VALUE-LIST - (LEGENDRE-CONICALP-1 3.5d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 8.980797952969897d-4 7.157154480497032d-17) - (MULTIPLE-VALUE-LIST - (LEGENDRE-REGULAR-SPHERICAL-CONICAL 3 3.5d0 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.0023060250619859907d0 2.7345630541297237d-16) - (MULTIPLE-VALUE-LIST - (LEGENDRE-REGULAR-CYLINDRICAL-CONICAL 3 3.5d0 - 10.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.9200342692589382d0 1.7018240558144874d-15) - (MULTIPLE-VALUE-LIST (LEGENDRE-H3D-0 1.0d0 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.2169402645039212d0 1.418962379417407d-15) - (MULTIPLE-VALUE-LIST (LEGENDRE-H3D-1 1.0d0 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.002400616238997978d0 4.3381136468045d-17) - (MULTIPLE-VALUE-LIST (LEGENDRE-H3D 4 1.0d0 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - #(0.9200342692589379d0 0.21694026450392115d0 - 0.04795066048830776d0 0.010663769096144337d0)) - (MULTIPLE-VALUE-LIST - (LETM ((ARR (VECTOR-DOUBLE-FLOAT 4))) - (LEGENDRE-H3D-ARRAY 1.0d0 0.5d0 ARR) - (CL-ARRAY ARR))))) + diff --git a/special-functions/logarithm.lisp b/special-functions/logarithm.lisp index db38e78ab2c9f1645c915e0a301d9c088a07beb3..f1c6197198c792cee66a7d86fe14006434d3e35c 100644 --- a/special-functions/logarithm.lisp +++ b/special-functions/logarithm.lisp @@ -1,6 +1,6 @@ ;; Logarithm ;; Liam Healy, Sun Apr 30 2006 - 22:08 -;; Time-stamp: <2008-07-10 21:41:27EDT logarithm.lisp> +;; Time-stamp: <2008-10-25 11:24:30EDT logarithm.lisp> ;; $Id$ (in-package :gsl) @@ -43,29 +43,10 @@ ;;; Examples and unit test -#| -(make-tests logarithm +(save-test logarithm (gsl-log 2.0d0) (gsl-log #C(1.0d0 1.0d0)) (log-abs -2.0d0) (log-1+x 1.d-4) (log-1+x-m1 1.d-4)) -|# -(LISP-UNIT:DEFINE-TEST LOGARITHM - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6931471805599453d0 3.078191837246648d-16) - (MULTIPLE-VALUE-LIST (GSL-LOG 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(0.34657359027997264d0 0.7853981633974483d0) - #C(1.539095918623324d-16 7.69547959311662d-17)) - (MULTIPLE-VALUE-LIST (GSL-LOG #C(1.0d0 1.0d0)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6931471805599453d0 3.078191837246648d-16) - (MULTIPLE-VALUE-LIST (LOG-ABS -2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 9.999500033330834d-5 2.2203350343487824d-20) - (MULTIPLE-VALUE-LIST (LOG-1+X 1.d-4))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -4.999666691664667d-9 1.1101490153075193d-24) - (MULTIPLE-VALUE-LIST (LOG-1+X-M1 1.d-4)))) diff --git a/special-functions/power.lisp b/special-functions/power.lisp index 91cf14c49f14ce651e3c2ae17b6606d05ad5d37b..05253c2376bc2e5721a3ee51f4927080b3555b99 100644 --- a/special-functions/power.lisp +++ b/special-functions/power.lisp @@ -1,6 +1,6 @@ ;; Integer powers ;; Liam Healy, Sun Apr 30 2006 - 22:46 -;; Time-stamp: <2008-02-16 22:39:17EST power.lisp> +;; Time-stamp: <2008-10-25 11:25:23EDT power.lisp> ;; $Id$ (in-package :gsl) @@ -14,10 +14,8 @@ multiplications. For reasons of efficiency, these functions do not check for overflow or underflow conditions.") -#| -(make-tests power +(save-test power (pow 3.5d0 5)) -|# (LISP-UNIT:DEFINE-TEST POWER (LISP-UNIT::ASSERT-NUMERICAL-EQUAL diff --git a/special-functions/psi.lisp b/special-functions/psi.lisp index c33bc7b4717fa08a672e334913d7d75bedc4f0b2..caf95ddbde55505767f58daf18a2193edac5e4d7 100644 --- a/special-functions/psi.lisp +++ b/special-functions/psi.lisp @@ -1,6 +1,6 @@ ;; Psi (digamma) functions ;; Liam Healy, Mon May 1 2006 - 22:11 -;; Time-stamp: <2008-07-10 21:42:08EDT psi.lisp> +;; Time-stamp: <2008-10-25 11:27:13EDT psi.lisp> ;; $Id$ (in-package :gsl) @@ -65,32 +65,11 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests psi +(save-test psi (psi 4) (psi 4.0d0) (psi-1+iy 2.0d0) (psi-1 4) (psi-1 4.0d0) (psi-n 2 4.0d0)) -|# -(LISP-UNIT:DEFINE-TEST PSI - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.2561176684318005d0 2.789141514262906d-16) - (MULTIPLE-VALUE-LIST (PSI 4))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.2561176684318005d0 2.846229783626858d-16) - (MULTIPLE-VALUE-LIST (PSI 4.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.7145915153739806d0 1.925418559790263d-14) - (MULTIPLE-VALUE-LIST (PSI-1+IY 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.2838229557371153d0 6.302135607530242d-17) - (MULTIPLE-VALUE-LIST (PSI-1 4))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.28382295573711525d0 1.764597970108467d-15) - (MULTIPLE-VALUE-LIST (PSI-1 4.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.0800397322451145d0 5.222647053360405d-16) - (MULTIPLE-VALUE-LIST (PSI-N 2 4.0d0)))) diff --git a/special-functions/synchrotron.lisp b/special-functions/synchrotron.lisp index fdb8dd58a3385cc8bc44baf14d5e0e57e7c878a8..09c0a07983a89b0a74c337f89020d1dbd46aa443 100644 --- a/special-functions/synchrotron.lisp +++ b/special-functions/synchrotron.lisp @@ -1,6 +1,6 @@ ;; Synchrotron functions ;; Liam Healy, Mon May 1 2006 - 22:29 -;; Time-stamp: <2008-02-16 22:48:24EST synchrotron.lisp> +;; Time-stamp: <2008-10-25 11:30:06EDT synchrotron.lisp> ;; $Id$ (in-package :gsl) @@ -19,16 +19,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests synchrotron +(save-test synchrotron (synchrotron-1 4.0d0) (synchrotron-2 4.0d0)) -|# -(LISP-UNIT:DEFINE-TEST SYNCHROTRON - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.052827396697912476d0 4.825849878208132d-14) - (MULTIPLE-VALUE-LIST (SYNCHROTRON-1 4.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.04692320582614684d0 6.854449168174663d-14) - (MULTIPLE-VALUE-LIST (SYNCHROTRON-2 4.0d0)))) diff --git a/special-functions/transport.lisp b/special-functions/transport.lisp index 7094687d3b4c90eae8101e804539ac92ec61d306..3e131a641c4da7ec8020b96980b19f41096e4ff2 100644 --- a/special-functions/transport.lisp +++ b/special-functions/transport.lisp @@ -1,6 +1,6 @@ ;; Transport functions ;; Liam Healy, Mon May 1 2006 - 22:29 -;; Time-stamp: <2008-02-16 22:50:39EST transport.lisp> +;; Time-stamp: <2008-10-25 11:30:06EDT transport.lisp> ;; $Id$ (in-package :gsl) @@ -34,24 +34,9 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests transport +(save-test transport (transport-2 4.0d0) (transport-3 4.0d0) (transport-4 4.0d0) (transport-5 4.0d0)) -|# - -(LISP-UNIT:DEFINE-TEST TRANSPORT - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.806666404563118d0 2.2867923780257255d-15) - (MULTIPLE-VALUE-LIST (TRANSPORT-2 4.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 4.579217437229157d0 3.242324689309112d-15) - (MULTIPLE-VALUE-LIST (TRANSPORT-3 4.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 10.731932392998623d0 1.0925209116254758d-14) - (MULTIPLE-VALUE-LIST (TRANSPORT-4 4.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 29.488339015245842d0 3.204450601879883d-14) - (MULTIPLE-VALUE-LIST (TRANSPORT-5 4.0d0)))) + diff --git a/special-functions/trigonometry.lisp b/special-functions/trigonometry.lisp index 78024fed8064bb5dd416e8dce30d44f90923d9c7..62cd33916665705f4954216ba799c730c8f06748 100644 --- a/special-functions/trigonometry.lisp +++ b/special-functions/trigonometry.lisp @@ -1,6 +1,6 @@ ;; Trigonometry ;; Liam Healy, Thu May 4 2006 - 22:58 -;; Time-stamp: <2008-07-12 13:41:22EDT trigonometry.lisp> +;; Time-stamp: <2008-10-25 11:30:07EDT trigonometry.lisp> ;; $Id$ (in-package :gsl) @@ -136,8 +136,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests trigonometry +(save-test trigonometry (gsl-sin 1.0d0) (gsl-sin #C(1.0d0 1.0d0)) (gsl-cos 1.0d0) @@ -153,58 +152,4 @@ (restrict-positive -1.0d0) (sin-err 0.5d0 0.01d0) (cos-err 0.5d0 0.01d0)) -|# - -(LISP-UNIT:DEFINE-TEST TRIGONOMETRY - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8414709848078965d0 3.736881847550928d-16) - (MULTIPLE-VALUE-LIST (GSL-SIN 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(1.2984575814159773d0 0.6349639147847361d0) - #C(5.766310013548447d-16 2.8198062320005596d-16)) - (MULTIPLE-VALUE-LIST (GSL-SIN #C(1.0d0 1.0d0)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.5403023058681398d0 2.3994242409314904d-16) - (MULTIPLE-VALUE-LIST (GSL-COS 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(0.8337300251311491d0 -0.9888977057628651d0) - #C(3.7025050808876487d-16 4.3915880077477046d-16)) - (MULTIPLE-VALUE-LIST (GSL-COS #C(1.0d0 1.0d0)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.23606797749979d0 9.930136612989092d-16) - (MULTIPLE-VALUE-LIST (HYPOTENUSE 1.0d0 2.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6366197723675814d0 3.0072729231305663d-16) - (MULTIPLE-VALUE-LIST (SINC 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST #C(0.3683837314249251d0 0.4548202333099499d0) - #C(1.6359524021011266d-16 8.179762010505633d-17)) - (MULTIPLE-VALUE-LIST (LOG-SIN #C(1.0d0 1.0d0)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -0.6518223259470272d0 2.8946726169244526d-16) - (MULTIPLE-VALUE-LIST (LOG-SINH 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.12011450695827751d0 4.401938023864669d-17) - (MULTIPLE-VALUE-LIST (LOG-COSH 0.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0806046117362795d0 1.682941969615793d0 - 8.535730329413909d-16 9.873187936033346d-16) - (MULTIPLE-VALUE-LIST - (POLAR-TO-RECTANGULAR 2.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.23606797749979d0 0.4636476090008061d0 - 9.930136612989092d-16 2.0590090033003876d-16) - (MULTIPLE-VALUE-LIST - (RECTANGULAR-TO-POLAR 2.0d0 1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST -1.2831853071795862d0) - (MULTIPLE-VALUE-LIST (RESTRICT-SYMMETRIC 5.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 5.283185307179586d0) - (MULTIPLE-VALUE-LIST (RESTRICT-POSITIVE -1.0d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.479425538604203d0 0.008775825618904047d0) - (MULTIPLE-VALUE-LIST (SIN-ERR 0.5d0 0.01d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.8775825618903728d0 0.004794255386042614d0) - (MULTIPLE-VALUE-LIST (COS-ERR 0.5d0 0.01d0)))) + diff --git a/special-functions/zeta.lisp b/special-functions/zeta.lisp index 7857876ed1d665c77f7121dfda75736a4e1d230b..f4a81ea923d629a99724592cd560a531d1f61305 100644 --- a/special-functions/zeta.lisp +++ b/special-functions/zeta.lisp @@ -1,6 +1,6 @@ ;; Zeta functions ;; Liam Healy, Sat May 13 2006 - 23:27 -;; Time-stamp: <2008-07-12 13:40:50EDT zeta.lisp> +;; Time-stamp: <2008-10-25 11:31:03EDT zeta.lisp> ;; $Id$ (in-package :gsl) @@ -72,32 +72,11 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests zeta +(save-test zeta (zeta 2) (zeta 1.5d0) (zeta-1 2) (zeta-1 1.5d0) (hurwitz-zeta 1.5d0 2.5d0) (eta 1.5d0)) -|# - -(LISP-UNIT:DEFINE-TEST ZETA - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.6449340668482264d0 7.304974700020789d-16) - (MULTIPLE-VALUE-LIST (ZETA 2))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 2.612375348685493d0 1.419471177334903d-14) - (MULTIPLE-VALUE-LIST (ZETA 1.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.6449340668482264d0 2.8640826015201633d-16) - (MULTIPLE-VALUE-LIST (ZETA-1 2))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.612375348685493d0 1.419471177334903d-14) - (MULTIPLE-VALUE-LIST (ZETA-1 1.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.4037797688568256d0 8.104244828616706d-15) - (MULTIPLE-VALUE-LIST (HURWITZ-ZETA 1.5d0 2.5d0))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 0.7651470246254092d0 1.0661276646941275d-14) - (MULTIPLE-VALUE-LIST (ETA 1.5d0)))) + diff --git a/statistics/absolute-deviation.lisp b/statistics/absolute-deviation.lisp index 671a358e79a120423e45b8447d29b0bfcce95cd1..a9d35a28f558c46b8076f57168de9e9eeb0e19de 100644 --- a/statistics/absolute-deviation.lisp +++ b/statistics/absolute-deviation.lisp @@ -1,6 +1,6 @@ ;; Absolute deviation ;; Liam Healy, Sun Dec 31 2006 - 13:19 -;; Time-stamp: <2008-09-21 15:54:24EDT absolute-deviation.lisp> +;; Time-stamp: <2008-10-25 18:46:33EDT absolute-deviation.lisp> ;; $Id$ (in-package :gsl) @@ -48,8 +48,7 @@ ;;; Examples and unit test -#| -(make-tests absolute-deviation +(save-test absolute-deviation (letm ((vec (vector-double-float (a -3.21d0 1.0d0 12.8d0))) (weights (vector-double-float (a 3.0d0 1.0d0 2.0d0)))) (let ((mean (mean vec))) @@ -57,15 +56,3 @@ (absolute-deviation vec) (weighted-absolute-deviation vec weights) (absolute-deviation vec mean))))) -|# - -(LISP-UNIT:DEFINE-TEST ABSOLUTE-DEVIATION - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST (LIST 6.18d0 6.647777777777779d0 6.18d0)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0))) - (WEIGHTS (VECTOR-DOUBLE-FLOAT (A 3.0d0 1.0d0 2.0d0)))) - (LET ((MEAN (MEAN VEC))) - (LIST (ABSOLUTE-DEVIATION VEC) - (WEIGHTED-ABSOLUTE-DEVIATION VEC WEIGHTS) - (ABSOLUTE-DEVIATION VEC MEAN))))))) diff --git a/statistics/autocorrelation.lisp b/statistics/autocorrelation.lisp index 698cf827f459b6ab91a36d21861c511230b4616a..5e8d8ac113f16ab72df5dae103e8b45f748542a6 100644 --- a/statistics/autocorrelation.lisp +++ b/statistics/autocorrelation.lisp @@ -1,6 +1,6 @@ ;; Autocorrelation ;; Liam Healy, Sun Dec 31 2006 - 13:19 -;; Time-stamp: <2008-09-21 15:56:14EDT autocorrelation.lisp> +;; Time-stamp: <2008-10-25 18:47:48EDT autocorrelation.lisp> ;; $Id$ (in-package :gsl) @@ -25,22 +25,9 @@ ;;; Examples and unit test -#| -(make-tests autocorrelation +(save-test autocorrelation (letm ((vec (vector-double-float (a -3.21d0 1.0d0 12.8d0)))) (let ((mean (mean vec))) (list (autocorrelation vec) (autocorrelation vec mean))))) -|# - -(LISP-UNIT:DEFINE-TEST AUTOCORRELATION - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST -0.04646366834251103d0 -0.04646366834251103d0)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0)))) - (LET ((MEAN (MEAN VEC))) - (LIST (AUTOCORRELATION VEC) - (AUTOCORRELATION VEC MEAN))))))) - diff --git a/statistics/covariance.lisp b/statistics/covariance.lisp index 5bb28f3804bcfeb861fd09a2bf8d9a4ebae79dd0..98719f995bc082523f62881ea0685e7e37a1eeb3 100644 --- a/statistics/covariance.lisp +++ b/statistics/covariance.lisp @@ -1,6 +1,6 @@ ;; Covariance ;; Liam Healy, Sun Dec 31 2006 - 13:19 -;; Time-stamp: <2008-09-21 15:57:06EDT covariance.lisp> +;; Time-stamp: <2008-10-25 18:50:08EDT covariance.lisp> ;; $Id$ (in-package :gsl) @@ -28,8 +28,7 @@ ;;; Examples and unit test -#| -(make-tests covariance +(save-test covariance (letm ((vec1 (vector-double-float (a -3.21d0 1.0d0 12.8d0))) (vec2 (vector-double-float (a 1.15d0 -1.0d0 0.5d0)))) (let ((mean1 (mean vec1)) @@ -37,16 +36,3 @@ (list (covariance vec1 vec2) (covariance vec1 vec2 mean1 mean2))))) -|# - -(LISP-UNIT:DEFINE-TEST COVARIANCE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST -0.2929999999999998d0 -0.2929999999999998d0)) - (MULTIPLE-VALUE-LIST - (LETM - ((VEC1 (VECTOR-DOUBLE-FLOAT (a -3.21d0 1.0d0 12.8d0))) - (VEC2 (VECTOR-DOUBLE-FLOAT (a 1.15d0 -1.0d0 0.5d0)))) - (LET ((MEAN1 (MEAN VEC1)) (MEAN2 (MEAN VEC2))) - (LIST (COVARIANCE VEC1 VEC2) - (COVARIANCE VEC1 VEC2 MEAN1 MEAN2))))))) diff --git a/statistics/higher-moments.lisp b/statistics/higher-moments.lisp index e3ea0da96459bc22e67eeea780a6656dc49e3a77..def1e3f05afea8345b44ddd4c5c22e2a663ed1f1 100644 --- a/statistics/higher-moments.lisp +++ b/statistics/higher-moments.lisp @@ -1,6 +1,6 @@ ;; Skewness and kurtosis. ;; Liam Healy, Sun Dec 31 2006 - 14:20 -;; Time-stamp: <2008-09-21 15:55:21EDT higher-moments.lisp> +;; Time-stamp: <2008-10-25 18:46:34EDT higher-moments.lisp> ;; $Id$ (in-package :gsl) @@ -80,8 +80,7 @@ ;;; Examples and unit test -#| -(make-tests higher-moments +(save-test higher-moments (letm ((vec (vector-double-float (a -3.21d0 1.0d0 12.8d0)))) (let* ((mean (mean vec)) (sd (standard-deviation vec mean))) @@ -90,17 +89,3 @@ (skewness vec mean sd) (kurtosis vec) (kurtosis vec mean sd))))) -|# - -(LISP-UNIT:DEFINE-TEST HIGHER-MOMENTS - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 0.2765118983985497d0 0.2765118983985497d0 - -2.333333333333333d0 -2.333333333333333d0)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0)))) - (LET* ((MEAN (MEAN VEC)) - (SD (STANDARD-DEVIATION VEC MEAN))) - (LIST (SKEWNESS VEC) (SKEWNESS VEC MEAN SD) - (KURTOSIS VEC) - (KURTOSIS VEC MEAN SD))))))) diff --git a/statistics/mean-variance.lisp b/statistics/mean-variance.lisp index 55f07f481efdd76d12226588ae4a3832ce5673fb..ac95dd87f2ecfefb2390c0f76964c50dd50ed758 100644 --- a/statistics/mean-variance.lisp +++ b/statistics/mean-variance.lisp @@ -1,6 +1,6 @@ ;; Mean, standard deviation, and variance ;; Liam Healy, Sat Dec 2 2006 - 22:15 -;; Time-stamp: <2008-09-21 15:52:16EDT mean-variance.lisp> +;; Time-stamp: <2008-10-25 18:44:21EDT mean-variance.lisp> ;; $Id$ (in-package :gsl) @@ -186,8 +186,7 @@ ;;;; Examples and unit test ;;;;**************************************************************************** -#| -(make-tests mean-variance +(save-test mean-variance (letm ((vec (vector-double-float (a -3.21d0 1.0d0 12.8d0))) (weights (vector-double-float (a 3.0d0 1.0d0 2.0d0)))) (let ((mean (mean vec)) @@ -212,42 +211,3 @@ (standard-deviation vec mean) (variance-with-fixed-mean vec 4.0d0) (standard-deviation-with-fixed-mean vec 4.0d0))))) -|# - -(LISP-UNIT:DEFINE-TEST MEAN-VARIANCE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 3.5300000000000002d0 2.8283333333333336d0 - 68.88069999999999d0 68.88069999999999d0 - 84.98058636363639d0 84.98058636363639d0 - 8.29943974012704d0 8.29943974012704d0 - 46.14136666666667d0 6.792743677385941d0)) - (MULTIPLE-VALUE-LIST - (LETM - ((VEC (VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0))) - (WEIGHTS (VECTOR-DOUBLE-FLOAT (A 3.0d0 1.0d0 2.0d0)))) - (LET ((MEAN (MEAN VEC)) - (WMEAN (WEIGHTED-MEAN VEC WEIGHTS))) - (LIST MEAN WMEAN (VARIANCE VEC) (VARIANCE VEC MEAN) - (WEIGHTED-VARIANCE VEC WEIGHTS) - (WEIGHTED-VARIANCE VEC WEIGHTS WMEAN) - (STANDARD-DEVIATION VEC) - (STANDARD-DEVIATION VEC MEAN) - (VARIANCE-WITH-FIXED-MEAN VEC 4.0d0) - (STANDARD-DEVIATION-WITH-FIXED-MEAN VEC - 4.0d0)))))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST - (LIST 3.3333333333333335d0 25.333333333333336d0 - 25.333333333333336d0 5.033222956847167d0 - 5.033222956847167d0 17.333333333333332d0 - 4.163331998932265d0)) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-SIGNED-BYTE-32 (A 8 4 -2)))) - (LET ((MEAN (MEAN VEC))) - (LIST MEAN (VARIANCE VEC) (VARIANCE VEC MEAN) - (STANDARD-DEVIATION VEC) - (STANDARD-DEVIATION VEC MEAN) - (VARIANCE-WITH-FIXED-MEAN VEC 4.0d0) - (STANDARD-DEVIATION-WITH-FIXED-MEAN VEC - 4.0d0))))))) diff --git a/statistics/median-percentile.lisp b/statistics/median-percentile.lisp index d48bcb7b52965350beb06423fef28f51acd3cc74..c279f21be3a877260807a3a56ae827a3dd2afcc5 100644 --- a/statistics/median-percentile.lisp +++ b/statistics/median-percentile.lisp @@ -1,6 +1,6 @@ ;; Median and percentile ;; Liam Healy, Sun Dec 31 2006 - 13:19 -;; Time-stamp: <2008-09-21 15:58:10EDT median-percentile.lisp> +;; Time-stamp: <2008-10-25 18:50:07EDT median-percentile.lisp> ;; $Id$ (in-package :gsl) @@ -52,24 +52,9 @@ ;;; Examples and unit test -#| -(make-tests median-percentile +(save-test median-percentile (letm ((vec (vector-double-float (a -3.21d0 1.0d0 12.8d0)))) (median vec)) (letm ((vec (vector-double-float (a -18.0d0 -12.0d0 -3.21d0 0.5d0 1.0d0 2.7d0 12.8d0)))) (quantile vec 0.75d0))) -|# - -(LISP-UNIT:DEFINE-TEST MEDIAN-PERCENTILE - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.0d0) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT (A -3.21d0 1.0d0 12.8d0)))) - (MEDIAN VEC)))) - (LISP-UNIT::ASSERT-NUMERICAL-EQUAL - (LIST 1.85d0) - (MULTIPLE-VALUE-LIST - (LETM ((VEC (VECTOR-DOUBLE-FLOAT - (A -18.0d0 -12.0d0 -3.21d0 0.5d0 1.0d0 2.7d0 12.8d0)))) - (QUANTILE VEC 0.75d0)))))