From c286f806b404d4a5daec8bc45f3d2584c501e836 Mon Sep 17 00:00:00 2001 From: digikar99 Date: Tue, 23 May 2023 09:32:58 +0530 Subject: [PATCH 1/2] Add static-dispatch versions --- num-utils.asd | 69 ++++- static-dispatch-tests/arithmetic.lisp | 1 + static-dispatch-tests/chebyshev.lisp | 1 + static-dispatch-tests/elementwise.lisp | 1 + static-dispatch-tests/extended-real.lisp | 1 + static-dispatch-tests/interval.lisp | 1 + static-dispatch-tests/log-exp.lisp | 1 + static-dispatch-tests/main.lisp | 1 + static-dispatch-tests/matrix-shorthand.lisp | 1 + static-dispatch-tests/matrix.lisp | 1 + static-dispatch-tests/num=.lisp | 1 + static-dispatch-tests/polynomial.lisp | 1 + static-dispatch-tests/quadrature.lisp | 1 + static-dispatch-tests/rootfinding.lisp | 1 + static-dispatch-tests/test-package.lisp | 26 ++ static-dispatch-tests/utilities.lisp | 1 + static-dispatch/arithmetic.lisp | 1 + static-dispatch/chebyshev.lisp | 1 + static-dispatch/elementwise.lisp | 1 + static-dispatch/extended-real.lisp | 1 + static-dispatch/interval.lisp | 1 + static-dispatch/log-exp.lisp | 1 + static-dispatch/matrix-shorthand.lisp | 1 + static-dispatch/matrix.lisp | 1 + static-dispatch/num=.lisp | 1 + static-dispatch/packages.lisp | 319 ++++++++++++++++++++ static-dispatch/pkgdcl.lisp | 1 + static-dispatch/polynomial.lisp | 1 + static-dispatch/print-matrix.lisp | 1 + static-dispatch/quadrature.lisp | 1 + static-dispatch/rootfinding.lisp | 1 + static-dispatch/test-utilities.lisp | 1 + static-dispatch/utilities.lisp | 1 + 33 files changed, 441 insertions(+), 3 deletions(-) create mode 120000 static-dispatch-tests/arithmetic.lisp create mode 120000 static-dispatch-tests/chebyshev.lisp create mode 120000 static-dispatch-tests/elementwise.lisp create mode 120000 static-dispatch-tests/extended-real.lisp create mode 120000 static-dispatch-tests/interval.lisp create mode 120000 static-dispatch-tests/log-exp.lisp create mode 120000 static-dispatch-tests/main.lisp create mode 120000 static-dispatch-tests/matrix-shorthand.lisp create mode 120000 static-dispatch-tests/matrix.lisp create mode 120000 static-dispatch-tests/num=.lisp create mode 120000 static-dispatch-tests/polynomial.lisp create mode 120000 static-dispatch-tests/quadrature.lisp create mode 120000 static-dispatch-tests/rootfinding.lisp create mode 100644 static-dispatch-tests/test-package.lisp create mode 120000 static-dispatch-tests/utilities.lisp create mode 120000 static-dispatch/arithmetic.lisp create mode 120000 static-dispatch/chebyshev.lisp create mode 120000 static-dispatch/elementwise.lisp create mode 120000 static-dispatch/extended-real.lisp create mode 120000 static-dispatch/interval.lisp create mode 120000 static-dispatch/log-exp.lisp create mode 120000 static-dispatch/matrix-shorthand.lisp create mode 120000 static-dispatch/matrix.lisp create mode 120000 static-dispatch/num=.lisp create mode 100644 static-dispatch/packages.lisp create mode 120000 static-dispatch/pkgdcl.lisp create mode 120000 static-dispatch/polynomial.lisp create mode 120000 static-dispatch/print-matrix.lisp create mode 120000 static-dispatch/quadrature.lisp create mode 120000 static-dispatch/rootfinding.lisp create mode 120000 static-dispatch/test-utilities.lisp create mode 120000 static-dispatch/utilities.lisp diff --git a/num-utils.asd b/num-utils.asd index 3cbe25f..477dc80 100644 --- a/num-utils.asd +++ b/num-utils.asd @@ -43,15 +43,46 @@ (:file "test-utilities") (:file "pkgdcl"))) +(defsystem "num-utils/static-dispatch" + :description "Numerical utilities for Common Lisp enhanced by STATIC-DISPATCH." + :depends-on (#:anaphora + #:alexandria + #:alexandria+ + #:array-operations + #:select + #:let-plus + #:static-dispatch) + :pathname "static-dispatch/" + :serial t + :components + ((:file "packages") + (:file "utilities") + (:file "num=") + (:file "arithmetic") +;; (:file "arithmetic-type") ; now in src/old/ Looks like it was a WIP + (:file "elementwise") + (:file "extended-real") + (:file "interval") + (:file "print-matrix") + (:file "matrix") + (:file "matrix-shorthand") + (:file "chebyshev") + (:file "polynomial") + (:file "rootfinding") + (:file "quadrature") + (:file "log-exp") + (:file "test-utilities") + (:file "pkgdcl"))) + (defsystem "num-utils/tests" :version "1.0.0" :description "Unit tests for NUM-UTILS." :author "Steven Nunez " :license "Same as NUM-UTILS -- this is part of the NUM-UTILS library." #+asdf-unicode :encoding #+asdf-unicode :utf-8 - :depends-on (#:num-utils + :depends-on (#:num-utils/static-dispatch #:fiveam - #:select) ; matrix test needs this + #:select) ; matrix test needs this :pathname "tests/" :serial t :components @@ -75,4 +106,36 @@ :perform (test-op (o s) (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :all-tests - :num-utils-tests)))) + :num-utils-tests)))) + +(defsystem "num-utils/static-dispatch/tests" + :description "Unit tests for NUM-UTILS/STATIC-DISPATCH." + :license "Same as NUM-UTILS -- this is part of the NUM-UTILS library." + #+asdf-unicode :encoding #+asdf-unicode :utf-8 + :depends-on (#:num-utils/static-dispatch + #:fiveam + #:select) ; matrix test needs this + :pathname "static-dispatch-tests/" + :serial t + :components + ((:file "test-package") + (:file "main") + ;; in alphabetical order + (:file "arithmetic") +;; (:file "arithmetic-type") ; No tests included in Papp's version + (:file "chebyshev") + (:file "polynomial") + (:file "elementwise") + (:file "extended-real") + (:file "interval") + (:file "matrix") + (:file "matrix-shorthand") + (:file "num=") + (:file "quadrature") + (:file "rootfinding") + (:file "log-exp") + (:file "utilities")) + :perform (test-op (o s) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :all-tests + :num-utils-tests)))) diff --git a/static-dispatch-tests/arithmetic.lisp b/static-dispatch-tests/arithmetic.lisp new file mode 120000 index 0000000..a9a10c9 --- /dev/null +++ b/static-dispatch-tests/arithmetic.lisp @@ -0,0 +1 @@ +../tests/arithmetic.lisp \ No newline at end of file diff --git a/static-dispatch-tests/chebyshev.lisp b/static-dispatch-tests/chebyshev.lisp new file mode 120000 index 0000000..5541499 --- /dev/null +++ b/static-dispatch-tests/chebyshev.lisp @@ -0,0 +1 @@ +../tests/chebyshev.lisp \ No newline at end of file diff --git a/static-dispatch-tests/elementwise.lisp b/static-dispatch-tests/elementwise.lisp new file mode 120000 index 0000000..ba22469 --- /dev/null +++ b/static-dispatch-tests/elementwise.lisp @@ -0,0 +1 @@ +../tests/elementwise.lisp \ No newline at end of file diff --git a/static-dispatch-tests/extended-real.lisp b/static-dispatch-tests/extended-real.lisp new file mode 120000 index 0000000..360850e --- /dev/null +++ b/static-dispatch-tests/extended-real.lisp @@ -0,0 +1 @@ +../tests/extended-real.lisp \ No newline at end of file diff --git a/static-dispatch-tests/interval.lisp b/static-dispatch-tests/interval.lisp new file mode 120000 index 0000000..c388e7b --- /dev/null +++ b/static-dispatch-tests/interval.lisp @@ -0,0 +1 @@ +../tests/interval.lisp \ No newline at end of file diff --git a/static-dispatch-tests/log-exp.lisp b/static-dispatch-tests/log-exp.lisp new file mode 120000 index 0000000..586f8b5 --- /dev/null +++ b/static-dispatch-tests/log-exp.lisp @@ -0,0 +1 @@ +../tests/log-exp.lisp \ No newline at end of file diff --git a/static-dispatch-tests/main.lisp b/static-dispatch-tests/main.lisp new file mode 120000 index 0000000..ba09551 --- /dev/null +++ b/static-dispatch-tests/main.lisp @@ -0,0 +1 @@ +../tests/main.lisp \ No newline at end of file diff --git a/static-dispatch-tests/matrix-shorthand.lisp b/static-dispatch-tests/matrix-shorthand.lisp new file mode 120000 index 0000000..9f9f1f8 --- /dev/null +++ b/static-dispatch-tests/matrix-shorthand.lisp @@ -0,0 +1 @@ +../tests/matrix-shorthand.lisp \ No newline at end of file diff --git a/static-dispatch-tests/matrix.lisp b/static-dispatch-tests/matrix.lisp new file mode 120000 index 0000000..3919430 --- /dev/null +++ b/static-dispatch-tests/matrix.lisp @@ -0,0 +1 @@ +../tests/matrix.lisp \ No newline at end of file diff --git a/static-dispatch-tests/num=.lisp b/static-dispatch-tests/num=.lisp new file mode 120000 index 0000000..ec0d23a --- /dev/null +++ b/static-dispatch-tests/num=.lisp @@ -0,0 +1 @@ +../tests/num=.lisp \ No newline at end of file diff --git a/static-dispatch-tests/polynomial.lisp b/static-dispatch-tests/polynomial.lisp new file mode 120000 index 0000000..6ea4696 --- /dev/null +++ b/static-dispatch-tests/polynomial.lisp @@ -0,0 +1 @@ +../tests/polynomial.lisp \ No newline at end of file diff --git a/static-dispatch-tests/quadrature.lisp b/static-dispatch-tests/quadrature.lisp new file mode 120000 index 0000000..6f6af80 --- /dev/null +++ b/static-dispatch-tests/quadrature.lisp @@ -0,0 +1 @@ +../tests/quadrature.lisp \ No newline at end of file diff --git a/static-dispatch-tests/rootfinding.lisp b/static-dispatch-tests/rootfinding.lisp new file mode 120000 index 0000000..3a02ce9 --- /dev/null +++ b/static-dispatch-tests/rootfinding.lisp @@ -0,0 +1 @@ +../tests/rootfinding.lisp \ No newline at end of file diff --git a/static-dispatch-tests/test-package.lisp b/static-dispatch-tests/test-package.lisp new file mode 100644 index 0000000..3789fb5 --- /dev/null +++ b/static-dispatch-tests/test-package.lisp @@ -0,0 +1,26 @@ +;;; -*- Mode: LISP; Base: 10; Syntax: ANSI-Common-Lisp; Package: CL-USER -*- +;;; Copyright (c) 2021-2022 by Symbolics Pte. Ltd. All rights reserved. + +(uiop:define-package #:num-utils-tests + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:let-plus + #:fiveam + #:select + + ;; num-utils subpackages (alphabetical order) + #:num-utils.arithmetic + #:num-utils.chebyshev + #:num-utils.elementwise + #:num-utils.interval + #:num-utils.log-exp + #:num-utils.matrix + #:num-utils.matrix-shorthand + #:num-utils.num= + #:num-utils.polynomial + #:num-utils.quadrature + #:num-utils.rootfinding + #:num-utils.test-utilities + #:num-utils.utilities) + (:export #:run)) diff --git a/static-dispatch-tests/utilities.lisp b/static-dispatch-tests/utilities.lisp new file mode 120000 index 0000000..41119cb --- /dev/null +++ b/static-dispatch-tests/utilities.lisp @@ -0,0 +1 @@ +../tests/utilities.lisp \ No newline at end of file diff --git a/static-dispatch/arithmetic.lisp b/static-dispatch/arithmetic.lisp new file mode 120000 index 0000000..d5fb691 --- /dev/null +++ b/static-dispatch/arithmetic.lisp @@ -0,0 +1 @@ +../src/../src/arithmetic.lisp \ No newline at end of file diff --git a/static-dispatch/chebyshev.lisp b/static-dispatch/chebyshev.lisp new file mode 120000 index 0000000..d7b480a --- /dev/null +++ b/static-dispatch/chebyshev.lisp @@ -0,0 +1 @@ +../src/../src/chebyshev.lisp \ No newline at end of file diff --git a/static-dispatch/elementwise.lisp b/static-dispatch/elementwise.lisp new file mode 120000 index 0000000..3f309c1 --- /dev/null +++ b/static-dispatch/elementwise.lisp @@ -0,0 +1 @@ +../src/../src/elementwise.lisp \ No newline at end of file diff --git a/static-dispatch/extended-real.lisp b/static-dispatch/extended-real.lisp new file mode 120000 index 0000000..9e8d285 --- /dev/null +++ b/static-dispatch/extended-real.lisp @@ -0,0 +1 @@ +../src/../src/extended-real.lisp \ No newline at end of file diff --git a/static-dispatch/interval.lisp b/static-dispatch/interval.lisp new file mode 120000 index 0000000..02a114d --- /dev/null +++ b/static-dispatch/interval.lisp @@ -0,0 +1 @@ +../src/../src/interval.lisp \ No newline at end of file diff --git a/static-dispatch/log-exp.lisp b/static-dispatch/log-exp.lisp new file mode 120000 index 0000000..2075677 --- /dev/null +++ b/static-dispatch/log-exp.lisp @@ -0,0 +1 @@ +../src/../src/log-exp.lisp \ No newline at end of file diff --git a/static-dispatch/matrix-shorthand.lisp b/static-dispatch/matrix-shorthand.lisp new file mode 120000 index 0000000..10931dc --- /dev/null +++ b/static-dispatch/matrix-shorthand.lisp @@ -0,0 +1 @@ +../src/../src/matrix-shorthand.lisp \ No newline at end of file diff --git a/static-dispatch/matrix.lisp b/static-dispatch/matrix.lisp new file mode 120000 index 0000000..7eeee47 --- /dev/null +++ b/static-dispatch/matrix.lisp @@ -0,0 +1 @@ +../src/../src/matrix.lisp \ No newline at end of file diff --git a/static-dispatch/num=.lisp b/static-dispatch/num=.lisp new file mode 120000 index 0000000..fa193ef --- /dev/null +++ b/static-dispatch/num=.lisp @@ -0,0 +1 @@ +../src/../src/num=.lisp \ No newline at end of file diff --git a/static-dispatch/packages.lisp b/static-dispatch/packages.lisp new file mode 100644 index 0000000..7c18179 --- /dev/null +++ b/static-dispatch/packages.lisp @@ -0,0 +1,319 @@ +;;; -*- Mode: LISP; Base: 10; Syntax: ANSI-Common-Lisp; Package: CL-USER -*- + +(cl:defpackage #:num-utils.utilities + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:let-plus) + (:export + #:gethash* + #:splice-when + #:splice-awhen + #:curry* + #:check-types + #:define-with-multiple-bindings + #:within? + #:fixnum? + #:simple-fixnum-vector + #:simple-single-float-vector + #:as-simple-fixnum-vector + #:simple-boolean-vector + #:as-bit-vector + #:as-double-float + #:with-double-floats + #:simple-double-float-vector + #:make-vector + #:generate-sequence + #:expanding + #:bic + #:binary-search + #:sequencep ;remove and use alexandria? + #:as-alist + #:as-plist) + (:documentation "A collection of utilities to work with floating point values. Optimised for double-float.")) + +(defpackage #:num-utils.arithmetic + (:use #:static-dispatch-cl + #:alexandria-2 + #:alexandria+ + #:anaphora + #:num-utils.utilities + #:let-plus) + (:export + #:same-sign-p + #:square + #:cube + #:absolute-square + #:abs-diff + #:log10 + #:log2 + #:1c + #:divides? + #:as-integer + #:numseq + #:ivec + #:sum + #:product + #:cumulative-sum + #:cumulative-product + #:l2norm-square + #:l2norm + #:normalize-probabilities + #:floor* + #:ceiling* + #:round* + #:truncate* + #:sequence-maximum + #:sequence-minimum)) + +(defpackage #:num-utils.num= + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:let-plus) + (:export + #:num-delta + #:*num=-tolerance* + #:num= + #:num=-function + #:define-num=-with-accessors + #:define-structure-num=)) + +(defpackage #:num-utils.interval + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:num-utils.num= + #:num-utils.utilities + #:let-plus) + (:export + #:left + #:open-left? + #:right + #:open-right? + #:&interval + #:interval + #:finite-interval + #:plusinf-interval + #:minusinf-interval + #:real-line + #:plusminus-interval + #:interval-length + #:interval-midpoint + #:in-interval? + #:extend-interval + #:extendf-interval + #:interval-hull + #:relative + #:spacer + #:split-interval + #:shrink-interval + #:grid-in + #:subintervals-in + #:shift-interval)) + +(defpackage #:num-utils.chebyshev + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:num-utils.interval + #:num-utils.utilities + #:let-plus) + (:export ; These should probably be renamed in verb-object form + #:chebyshev-root + #:chebyshev-roots + #:chebyshev-regression + #:evaluate-chebyshev + #:chebyshev-approximate)) + +(defpackage #:num-utils.polynomial + (:use #:static-dispatch-cl + #:alexandria + #:num-utils.utilities) + (:nicknames #:poly) + (:export #:evaluate-polynomial #:evaluate-rational) + (:documentation "Efficient evaluation of polynomial functions using Horner's method")) + +(cl:defpackage #:num-utils.elementwise + (:use #:static-dispatch-cl + #:alexandria + #:num-utils.arithmetic + #:num-utils.utilities + #:let-plus) + (:nicknames #:elmt) ;num-util elementwise mathmatics + (:export + #:elementwise-float-contagion + #:e+ + #:e- + #:e* + #:e/ + #:e2+ + #:e2- + #:e2* + #:e2/ + #:e1- + #:e1/ + #:e2log + #:e2exp + #:e2mod + #:e1log + #:e1exp + #:eexpt + #:eexp + #:elog + #:emod + #:esqrt + #:efloor + #:eceiling + #:econjugate + #:esquare + #:ereduce + #:emin + #:emax + #:esin + #:ecos + #:e2< + #:e2<= + #:e2> + #:e2>= + #:e2=)) + +(defpackage #:num-utils.extended-real + (:use #:static-dispatch-cl #:alexandria) + (:nicknames #:xreal) + (:shadow #:= #:< #:> #:<= #:>=) + (:export + :infinite? + :extended-real + := + :< + :> + :<= + :>= + :plusinf + :minusinf + :with-template + :lambda-template)) + +(cl:defpackage #:num-utils.print-matrix + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:let-plus) + (:export + #:print-length-truncate + #:*print-matrix-precision* + #:print-matrix)) + +(cl:defpackage #:num-utils.matrix + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:num-utils.elementwise + #:num-utils.num= + #:num-utils.print-matrix + #:num-utils.utilities + #:select + #:let-plus) + (:export + #:diagonal-vector + #:diagonal-matrix + #:wrapped-matrix + #:lower-triangular-matrix + #:upper-triangular-matrix + #:triangular-matrix + #:hermitian-matrix + #:diagonal-matrix-elements + #:wrapped-matrix-elements + #:transpose + #:map-array)) + +(cl:defpackage #:num-utils.matrix-shorthand + (:nicknames #:nu.mx) + (:use #:static-dispatch-cl + #:alexandria + #:anaphora + #:num-utils.matrix + #:num-utils.utilities + #:let-plus) + (:export + #:vec + #:mx + #:diagonal-mx + #:lower-triangular-mx + #:hermitian-mx + #:upper-triangular-mx)) + +(cl:defpackage #:num-utils.quadrature + (:use #:static-dispatch-cl + #:alexandria + #:alexandria+ + #:anaphora + #:num-utils.arithmetic + #:num-utils.interval + #:num-utils.utilities + #:let-plus) + (:export + #:romberg-quadrature)) + +(cl:defpackage #:num-utils.rootfinding + (:use #:static-dispatch-cl + #:alexandria + #:num-utils.interval + #:num-utils.utilities + #:let-plus) + (:export + #:*rootfinding-epsilon* + #:*rootfinding-delta-relative* + #:root-bisection)) + +(uiop:define-package #:num-utils.log-exp + (:use #:static-dispatch-cl #:let-plus) + + (:import-from #:num-utils.arithmetic + #:ln + #:square) + (:import-from #:num-utils.polynomial + #:evaluate-polynomial) + (:import-from #:num-utils.utilities + #:simple-double-float-vector) + + (:export #:log1+ + #:log1- + #:log1+/x + #:exp-1 + #:exp-1/x + #:expt-1 + #:log1-exp + #:log1+exp + #:log2-exp + #:logexp-1 + #:hypot + #:log1pmx)) + +(cl:defpackage #:num-utils.test-utilities + (:use #:static-dispatch-cl) + + (:import-from #:num-utils.num= + #:num-delta) + + (:import-from #:num-utils.arithmetic + #:square) + + (:export #:test-results + + ;; struct accessors + #:worst-case ; row at which the worst error occurred + #:min-error ; smallest relative error found + #:max-error ; largest relative error found + #:mean-error ; mean error found + #:test-count ; number of test cases + #:variance0 ; variance of the errors found + #:variance1 ; unbiased variance of the errors found + #:rms ; Root Mean Square, or quadratic mean of the error + + ;; Testing functions + #:test-fn + #:compare-fns + #:compare-vectors)) + diff --git a/static-dispatch/pkgdcl.lisp b/static-dispatch/pkgdcl.lisp new file mode 120000 index 0000000..21d821d --- /dev/null +++ b/static-dispatch/pkgdcl.lisp @@ -0,0 +1 @@ +../src/../src/pkgdcl.lisp \ No newline at end of file diff --git a/static-dispatch/polynomial.lisp b/static-dispatch/polynomial.lisp new file mode 120000 index 0000000..d2501c3 --- /dev/null +++ b/static-dispatch/polynomial.lisp @@ -0,0 +1 @@ +../src/../src/polynomial.lisp \ No newline at end of file diff --git a/static-dispatch/print-matrix.lisp b/static-dispatch/print-matrix.lisp new file mode 120000 index 0000000..e124a94 --- /dev/null +++ b/static-dispatch/print-matrix.lisp @@ -0,0 +1 @@ +../src/../src/print-matrix.lisp \ No newline at end of file diff --git a/static-dispatch/quadrature.lisp b/static-dispatch/quadrature.lisp new file mode 120000 index 0000000..5102da9 --- /dev/null +++ b/static-dispatch/quadrature.lisp @@ -0,0 +1 @@ +../src/../src/quadrature.lisp \ No newline at end of file diff --git a/static-dispatch/rootfinding.lisp b/static-dispatch/rootfinding.lisp new file mode 120000 index 0000000..0558b0f --- /dev/null +++ b/static-dispatch/rootfinding.lisp @@ -0,0 +1 @@ +../src/../src/rootfinding.lisp \ No newline at end of file diff --git a/static-dispatch/test-utilities.lisp b/static-dispatch/test-utilities.lisp new file mode 120000 index 0000000..2f6eee3 --- /dev/null +++ b/static-dispatch/test-utilities.lisp @@ -0,0 +1 @@ +../src/../src/test-utilities.lisp \ No newline at end of file diff --git a/static-dispatch/utilities.lisp b/static-dispatch/utilities.lisp new file mode 120000 index 0000000..e806c76 --- /dev/null +++ b/static-dispatch/utilities.lisp @@ -0,0 +1 @@ +../src/../src/utilities.lisp \ No newline at end of file From 301dcf406ecada10d505c9f89b367ea31c4e05b2 Mon Sep 17 00:00:00 2001 From: digikar99 Date: Tue, 23 May 2023 10:33:07 +0530 Subject: [PATCH 2/2] Fix asd file for test systems --- num-utils.asd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/num-utils.asd b/num-utils.asd index 477dc80..c5405f5 100644 --- a/num-utils.asd +++ b/num-utils.asd @@ -52,6 +52,7 @@ #:select #:let-plus #:static-dispatch) + :in-order-to ((test-op (test-op "num-utils/static-dispatch/tests"))) :pathname "static-dispatch/" :serial t :components @@ -80,7 +81,7 @@ :author "Steven Nunez " :license "Same as NUM-UTILS -- this is part of the NUM-UTILS library." #+asdf-unicode :encoding #+asdf-unicode :utf-8 - :depends-on (#:num-utils/static-dispatch + :depends-on (#:num-utils #:fiveam #:select) ; matrix test needs this :pathname "tests/"