forked from OdonataResearchLLC/linear-algebra
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlinear-algebra.asd
More file actions
82 lines (76 loc) · 3.1 KB
/
Copy pathlinear-algebra.asd
File metadata and controls
82 lines (76 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
;;; -*- Mode: LISP; Base: 10; Syntax: ANSI-Common-Lisp; Package: ASDF -*-
;;; Copyright (c) 2011-2014, Odonata Research LLC
;;; Copyright (c) 2023 Symbolics Pte Ltd
;;; SPDX-License-identifier: MS-PL
(defsystem "linear-algebra"
:version "0.3.0"
:license :MS-PL
:author "Thomas M. Hermann <thomas.m.hermann@odonata-research.com>"
:maintainer "Steve Nunez <steve@symbolics.tech>"
:maintainer "Brian Eberman <bseberman@gmail.com>"
:long-name "Linear Algebra for Common Lisp"
:description "Linear Algebra for Common Lisp"
:long-description #.(uiop:read-file-string
(uiop:subpathname *load-pathname* "description.text"))
:homepage "https://lisp-stat.dev/docs/manuals/lla"
:source-control (:git "https://github.com/Lisp-Stat/linear-algebra.git")
:bug-tracker "https://github.com/Lisp-Stat/linear-algebra/issues"
:pathname "src/"
:depends-on ("closer-mop" "num-utils" "array-operations" "alexandria")
:components
((:file "pkgdcl" :depends-on ("kernel"))
;; Interface
(:module interface
:pathname "interface/"
:depends-on ("kernel")
:components
((:file "fundamental-ops")
(:file "vector" :depends-on ("fundamental-ops"))
(:file "matrix" :depends-on ("fundamental-ops"))
(:file "identity-matrix" :depends-on ("matrix"))
(:file "permutation-matrix" :depends-on ("matrix"))))
;; Linear algebra kernel functions
(:module kernel
:pathname "kernel/"
:components
((:file "pkgdcl")
(:file "norms" :depends-on ("pkgdcl"))
(:file "utility" :depends-on ("pkgdcl"))
(:file "permute" :depends-on ("pkgdcl"))
(:file "unary-operations" :depends-on ("pkgdcl"))
(:file "binary-operations" :depends-on ("pkgdcl"))
(:file "rotation" :depends-on ("unary-operations"))
(:file "gauss" :depends-on ("pkgdcl"))
(:file "cholesky" :depends-on ("unary-operations"))
(:file "conjugate-gradient" :depends-on ("binary-operations"))
(:file "tridiagonal" :depends-on ("pkgdcl"))))
;; Common Lisp sequences
(:module sequence
:depends-on ("interface")
:components
((:file "vector")
(:file "array")))
;; Linear algebra classes and operations
(:file "data-vector" :depends-on ("interface"))
(:file "dense-matrix" :depends-on ("data-vector"))
(:file "square-matrix" :depends-on ("dense-matrix"))
(:file "hermitian-matrix" :depends-on ("square-matrix"))
(:file "symmetric-matrix" :depends-on ("square-matrix"))
(:file "triangular-matrix" :depends-on ("square-matrix")))
:in-order-to ((test-op (test-op "linear-algebra/tests"))))
(defsystem "linear-algebra/tests"
:version "1.0.0"
:description "Unit tests for LINEAR-ALGEBRA."
:author "Thomas M. Hermann <thomas.m.hermann@odonata-research.com>"
:maintainer "Steve Nunez <steve@symbolics.tech>"
:maintainer "Brian Eberman <brian@tenfactorgrowth.com>"
:licence :MS-PL
:pathname "test/"
:depends-on ("linear-algebra-test")
:serial t
:perform (test-op (o s)
(let ((*print-pretty* t)) ;work around clunit issue #9
(symbol-call :clunit :run-suite
(find-symbol* :linear-algebra
:linear-algebra-test)
:use-debugger nil))))