Commit 71bf11de authored by Liam Healy's avatar Liam Healy

Simplified systems definition

Only five systems, no more dependence on asdf-system-definitions. Top
level is antik, loads GSLL.
parent 5af44bac
;; Antik system definition
;; Liam Healy 2010-12-24 09:43:28EST antik.asd
;; Time-stamp: <2013-11-09 09:21:01EST antik-OBSOLETE.asd>
;; Copyright 2010, 2011, 2012, 2013 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Antik is a system for doing scientific, engineering, and computational mathematics.
;;; The following systems are required:
;;; cffi, alexandria, split-sequence, cl-ppcre, trivial-garbage, drakma
;;; The following are optional:
;;; static-vectors, lisp-unit, gsll, cl-unicode
#+(or allegro ccl ecl lispworks sbcl)
(when (asdf:find-system :static-vectors nil)
(pushnew :static-vectors *features*))
(asdf:defsystem #:antik
:name "Antik"
:description "A library providing a foundation for computational mathematics, science, and engineering."
:author "Liam M. Healy"
:license "GPL v3"
:serial t
:defsystem-depends-on (#:asdf-system-connections)
:depends-on (#:iterate #:alexandria #:split-sequence #:cl-ppcre
#:cffi #:trivial-garbage
#+static-vectors static-vectors
#:drakma)
:components
((:module init
:serial t
:components
((:file "package")
(:file "utility")
(:file "conditions")
(:file "object")
(:file "iterate")
(:file "intermediate") ; temporary
(:file "generic")))
(:module grid
:depends-on (init)
:components
((:file "util")
(:module affi ; Affine indexing
:components
((:file "package")
(:file "utility" :depends-on ("package"))
(:file "affi" :depends-on ("utility"))
(:file "transformers" :depends-on ("affi"))))
(:file "functions" :depends-on ("util" affi))
(:file "specification" :depends-on ("util" "functions" affi))
(:file "array" :depends-on ("functions" affi))
(:file "map" :depends-on (affi "functions"))
(:file "compose" :depends-on ("functions" affi))
(:file "slice" :depends-on (affi))
(:file "norm-vector-product" :depends-on (affi "functions"))
(:file "copy")
(:file "iterate" :depends-on ("compose"))
(:file "mathematics" :depends-on ("map"))
(:module tests
:components
((:file "grids")))))
(:module input-output
:serial t
:components
((:file "parameters")
(:file "format-output")
(:file "org-mode")
(:file "float")
(:file "matlab")
(:file "read") ; cl-ppcre
(:file "indexed")))
(:module foreign-array
:depends-on (grid input-output)
:components
((:file "types")
(:file "complex-types" :depends-on ("types"))
(:file "element-types" :depends-on ("types" "complex-types"))
(:file "symbol-type")
(:file "number-conversion"
:depends-on ("complex-types" "symbol-type"))
(:file "subclass" :depends-on ("element-types"))
(:file "foreign-array" :depends-on ("types" "element-types"))
(:file "vector-matrix" :depends-on ("element-types" "subclass"))
(:file "methods" :depends-on ("foreign-array" "vector-matrix"))))
(:module physical-quantities
:serial t
:depends-on (init input-output)
:components
((:file "format-output")
(:file "units")
(:file "scalar")
(:file "grid")
(:file "funcall")
(:file "unit-definitions")
(:file "sysunit-definitions")
(:file "physical-quantities")
(:file "undimension")
(:file "arithmetic")
(:file "iso8601")
(:file "dtspec")
(:file "time-interval")
(:file "angle")
(:file "angle-component")
(:file "state")
(:file "timepoint")
(:file "relative-time")
(:file "read-time")
(:file "formats")
(:file "convert-timescale")
(:file "dtmath")))
(:module mathematics
:serial t
:components
((:file "trigonometry")
(:file "integers")))))
(asdf:defsystem-connection #:antik-tests
:serial t
:requires (#:antik #:lisp-unit)
:components
((:module tests
:components
((:file "numbers")
(:file "physical-quantities")))
(:module grid
:components
((:module tests
:components
((:file "augment")
(:file "compose")
(:file "map")
(:file "slice")
(:file "norm-vector-product")))))
(:module foreign-array
:components
((:module tests
:components
((:file "aref")
(:file "lisp-unit-extension")
(:file "compose")))))))
;;; High level mathematics built on libraries.
(asdf:defsystem-connection #:math-high
:serial t
:requires (#:antik #:gsll)
:components
((:module optimize
:components
((:file "one-dim")
(:file "least-squares")))
(:module linear-algebra
:components
((:file "linear-algebra")))
(:module sample
:components
((:file "low-discrepancy-sequence")))))
(asdf:defsystem-connection #:math-high-tests
:serial t
:requires (#:math-high #:lisp-unit)
:components
((:module linear-algebra
:components
((:file "linear-algebra-tests")))))
;;
;; Liam Healy 2012-02-20 10:14:49EST physical-dimension.asd
;; Time-stamp: <2013-11-30 12:08:59EST mathematics.asd>
;; Time-stamp: <2015-03-12 22:39:51EDT antik.asd>
;; Copyright 2013 Liam M. Healy
;; Copyright 2015 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
;;
;; This program is free software: you can redistribute it and/or modify
......@@ -21,50 +21,28 @@
(in-package :cl-user)
(asdf:defsystem #:mathematics
:name "Mathematics"
:description "A library of miscellaneous small mathematical computations."
(asdf:defsystem #:antik
:name "Antik"
:description "A library of numerical mathematics."
:author "Liam M. Healy"
:license "GPL v3"
:serial t
:defsystem-depends-on (#:asdf-system-connections)
;; This only really needs antik-base, but load foreign-array so that
:depends-on (#:foreign-array)
:depends-on (#:physical-dimension #:gsll)
:components
((:module mathematics
:serial t
:components
((:file "integers")
(:file "trigonometry")))))
;;; High level mathematics built on other libraries.
(asdf:defsystem-connection #:math-high
:serial t
:requires (#:mathematics #:gsll)
:components
((:module optimize
((:file "integers")
(:file "trigonometry")))
(:module optimize
:components
((:file "one-dim")
(:file "least-squares")))
((:file "one-dim")
(:file "one-dim-pq")
(:file "least-squares")))
(:module linear-algebra
:components
((:file "linear-algebra")))
((:file "linear-algebra")
(:file "linear-algebra-tests")))
(:module sample
:components
((:file "low-discrepancy-sequence")))))
(asdf:defsystem-connection #:math-high-tests
:serial t
:requires (#:math-high #:lisp-unit)
:components
((:module linear-algebra
:components
((:file "linear-algebra-tests")))))
(asdf:defsystem-connection #:math-high-pd
:serial t
:requires (#:math-high #:physical-dimension)
:components
((:module optimize
:components
((:file "one-dim-pq")))))
((:file "low-discrepancy-sequence")))))
;; Physical dimension system definition
;; Liam Healy
;; Time-stamp: <2015-01-03 12:11:36EST date-time.asd>
;; Copyright 2014 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
(in-package :cl-user)
(asdf:defsystem #:date-time
:name "Date and time"
:description "A library to provide computations with date and time."
:author "Liam M. Healy"
:license "GPL v3"
:serial t
:defsystem-depends-on (#:asdf-system-connections)
:depends-on (#:antik-base)
:components
((:module date-time
:serial t
:components
((:file "format-output")
(:file "iso8601")
(:file "dtspec")
(:file "formats")
(:file "timepoint")
(:file "read-time")
(:file "convert-timescale")))))
(asdf:defsystem-connection #:datime-pqd
:serial t
:requires (#:date-time #:physical-dimension)
:components
((:module date-time
:components
((:file "time-interval")
(:file "relative-time")
(:file "linear-timepoint")
(:file "dtmath")
(:file "ut1")))))
(asdf:defsystem-connection #:remote-phys-dim-data
:serial t
:requires (#:datime-pqd #:drakma)
:components
((:module date-time
:components
((:file "eop")))))
;; Tests should be based on parse-time-interval-test,
(asdf:defsystem-connection #:date-time-tests
:serial t
:requires (#:date-time #:physical-dimension #:lisp-unit)
:components
((:module date-time
:components
((:file "time-interval-tests")))))
;; Antik system definition
;; Liam Healy 2010-12-24 09:43:28EST antik.asd
;; Time-stamp: <2015-02-16 12:48:24EST grid.asd>
;; Copyright 2011, 2012, 2013, 2014 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Antik is a system for doing scientific, engineering, and computational mathematics.
(asdf:defsystem #:grid
:name "Grid"
:description "A library providing generalized arrays."
:author "Liam M. Healy"
:license "GPL v3"
:serial t
:defsystem-depends-on (#:asdf-system-connections)
:depends-on (#:antik-base #:alexandria #:split-sequence)
:components
((:module grid
:components
((:file "util")
(:module affi ; Affine indexing
:components
((:file "package")
(:file "utility" :depends-on ("package"))
(:file "affi" :depends-on ("utility"))
(:file "transformers" :depends-on ("affi"))))
(:file "functions" :depends-on ("util" affi))
(:file "specification" :depends-on ("util" "functions" affi))
(:file "array" :depends-on ("functions" affi))
(:file "map" :depends-on (affi "functions"))
(:file "compose" :depends-on ("functions" affi))
(:file "slice" :depends-on (affi))
(:file "norm-vector-product" :depends-on (affi "functions"))
(:file "copy")
(:file "iterate" :depends-on ("compose"))
(:file "mathematics" :depends-on ("map"))
(:file "index-functions")
(:file "indexed" :depends-on ("specification"))
(:file "format-output")
(:file "parameters")))))
(asdf:defsystem-connection #:grid-tests
:serial t
:requires (#:grid #:lisp-unit)
:components
((:module grid
:components
((:module tests
:components
((:file "augment")
(:file "sequence")
(:file "compose")
(:file "map")
(:file "slice")
(:file "norm-vector-product")))))))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment