gsll.asd 11.1 KB
Newer Older
1
2
;; Definition of GSLL system 
;; Liam Healy
3
;; Time-stamp: <2011-01-01 10:57:50EST gsll.asd>
4
;;
5
;; Copyright 2006, 2007, 2008, 2009, 2010, 2011 Liam M. Healy
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;; 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/>.
20

Liam Healy's avatar
Liam Healy committed
21
22
23
(when (asdf:find-system :fsbv nil)
  (pushnew :fsbv *features*))

24
25
26
(eval-when (:compile-toplevel :load-toplevel :execute)
  (asdf:oos 'asdf:load-op :cffi-grovel))

27
28
(asdf:defsystem GSLL
  :name "GSLL"
29
30
31
  :description "GNU Scientific Library for Lisp."
  :version "0"
  :author "Liam M. Healy"
Liam Healy's avatar
Liam Healy committed
32
  :licence "GPL v3"
33
  :depends-on (antik cffi-grovel trivial-garbage #+fsbv fsbv)
34
  :components
35
  ((:module init
36
37
	    :components
	    ((:file "init")
Liam M. Healy's avatar
Liam M. Healy committed
38
39
40
	     (cffi-grovel:grovel-file
	      "libgsl" :pathname #+unix "libgsl-unix" #-unix "nothing-here"
	      :depends-on ("init"))
41
42
	     (:file "utility" :depends-on ("init"))
	     (:file "forms" :depends-on ("init"))
Liam Healy's avatar
Liam Healy committed
43
44
45
46
	     (:file "conditions" :depends-on ("init" "libgsl"))
	     (:file "callback-compile-defs" :depends-on ("init"))
	     (:file "mobject" :depends-on ("init" "callback-compile-defs"))
	     (:file "callback-included" :depends-on ("mobject"))
47
	     (:file "callback"
Liam Healy's avatar
Liam Healy committed
48
		    :depends-on
49
		    ("init" "utility" "forms"
Liam Healy's avatar
Liam Healy committed
50
51
52
53
			    "callback-included"))
	     (:file "types" :depends-on ("init" "libgsl"))
	     (cffi-grovel:grovel-file "callback-struct"
				      :depends-on ("types" "libgsl"))
54
	     (:file "funcallable" :depends-on ("init" "utility"))
55
	     (:file "interface"
56
		    :depends-on ("init" "conditions"))
57
	     (:file "defmfun" :depends-on ("init" "forms" "interface"))
Liam Healy's avatar
Liam Healy committed
58
	     (:file "defmfun-array"
59
		    :depends-on ("init" "defmfun" "callback-included"))
Liam Healy's avatar
Liam Healy committed
60
	     (:file "defmfun-single"
61
62
		    :depends-on ("init" "defmfun" "mobject" "callback"))
	     (:file "body-expand" :depends-on ("init" "defmfun" "mobject" "callback"))
Liam Healy's avatar
Liam Healy committed
63
	     (:file "generate-examples" :depends-on ("init"))))
64
   (:module floating-point
65
	    :depends-on (init)
66
67
68
69
	    :components
	    ((:file "ieee-modes")
	     (:file "floating-point")))
   (:module mathematical
70
	    :depends-on (init)
71
72
	    :components
	    ((:file "mathematical")
Liam Healy's avatar
Liam Healy committed
73
	     #+fsbv
74
75
	     (:file "complex")))
   (:module data
76
	    :depends-on (init)
77
	    :components
78
	    ((cffi-grovel:grovel-file "array-structs")
79
80
81
82
	     (:file "foreign-array" :depends-on ("array-structs"))
	     (:file "vector" :depends-on ("foreign-array" "array-structs"))
	     (:file "matrix" :depends-on ("foreign-array" "vector" "array-structs"))
	     (:file "both" :depends-on ("foreign-array" "vector" "matrix"))
83
	     (:file "array-tests" :depends-on ("both"))
Liam Healy's avatar
Liam Healy committed
84
	     (:file "permutation" :depends-on ("foreign-array" "array-structs"))
Liam Healy's avatar
Liam Healy committed
85
	     (:file "combination" :depends-on ("foreign-array" "array-structs"))))
86
   (:file "polynomial" :depends-on (init data))
87
   (:module special-functions
Liam Healy's avatar
Liam Healy committed
88
	    :depends-on (init mathematical)
89
	    :components
90
	    ((cffi-grovel:grovel-file "sf-result")
Liam Healy's avatar
Liam Healy committed
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
	     (:file "return-structures" :depends-on ("sf-result"))
	     (:file "airy" :depends-on ("return-structures"))
	     (:file "bessel" :depends-on ("return-structures"))
	     (:file "clausen" :depends-on ("return-structures"))
	     (:file "coulomb" :depends-on ("return-structures"))
	     (:file "coupling" :depends-on ("return-structures"))
	     (:file "dawson" :depends-on ("return-structures"))
	     (:file "debye" :depends-on ("return-structures"))
	     (:file "dilogarithm" :depends-on ("return-structures"))
	     (:file "elementary" :depends-on ("return-structures"))
	     (:file "elliptic-integrals" :depends-on ("return-structures"))
	     (:file "elliptic-functions" :depends-on ("return-structures"))
	     (:file "error-functions" :depends-on ("return-structures"))
	     (:file "exponential-functions" :depends-on ("return-structures"))
	     (:file "exponential-integrals" :depends-on ("return-structures"))
	     (:file "fermi-dirac" :depends-on ("return-structures"))
	     (:file "gamma" :depends-on ("return-structures"))
	     (:file "gegenbauer" :depends-on ("return-structures"))
	     (:file "hypergeometric" :depends-on ("return-structures"))
	     (:file "laguerre" :depends-on ("return-structures"))
	     (:file "lambert" :depends-on ("return-structures"))
	     (:file "legendre" :depends-on ("return-structures"))
	     (:file "logarithm" :depends-on ("return-structures"))
	     (:file "mathieu" :depends-on ("return-structures"))
	     (:file "power" :depends-on ("return-structures"))
	     (:file "psi" :depends-on ("return-structures"))
	     (:file "synchrotron" :depends-on ("return-structures"))
	     (:file "transport" :depends-on ("return-structures"))
	     (:file "trigonometry" :depends-on ("return-structures"))
	     (:file "zeta" :depends-on ("return-structures"))))
121
   (:file "sorting" :depends-on (init data))
122
   (:module linear-algebra
123
	    :depends-on (init data special-functions)
124
125
126
	    :components
	    ((:file "blas1")
	     (:file "blas2")
Liam Healy's avatar
Liam Healy committed
127
	     (:file "blas3" :depends-on ("blas2"))
128
	     (:file "matrix-generation")
129
130
131
132
133
134
135
136
137
	     (:file "exponential")
	     (:file "lu")
	     (:file "qr")
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
	     (:file "diagonal")
	     (:file "householder")))
   (:module eigensystems
138
	    :depends-on (init data)
139
140
	    :components
	    ((:file "symmetric-hermitian")
141
	     (cffi-grovel:grovel-file "eigen-struct")
Liam Healy's avatar
Liam Healy committed
142
	     (:file "nonsymmetric" :depends-on ("eigen-struct"))
143
144
	     (:file "generalized")
	     (:file "nonsymmetric-generalized")))
145
146
147
   (:module fast-fourier-transforms
            :depends-on (init data)
            :components
Liam Healy's avatar
Liam Healy committed
148
149
150
151
152
            ((:file "wavetable-workspace")
	     (:file "forward")
             (:file "backward")
             (:file "inverse")
             (:file "select-direction")
Liam Healy's avatar
Liam Healy committed
153
             (:file "unpack")
154
             (:file "discrete")
155
             (:file "extras")
Liam Healy's avatar
Liam Healy committed
156
	     (:file "example")))
157
   (:module random
158
	    :depends-on (init data)
159
160
	    :components
	    ((:file "rng-types")
Liam Healy's avatar
Liam Healy committed
161
162
	     (:file "generators" :depends-on ("rng-types"))
	     (:file "quasi" :depends-on ("rng-types" "generators"))
163
	     (:file "tests" :depends-on ("rng-types"))
Liam Healy's avatar
Liam Healy committed
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
	     (:file "gaussian" :depends-on ("rng-types"))
	     (:file "gaussian-tail" :depends-on ("rng-types"))
	     (:file "gaussian-bivariate" :depends-on ("rng-types"))
	     (:file "exponential" :depends-on ("rng-types"))
	     (:file "laplace" :depends-on ("rng-types"))
	     (:file "exponential-power" :depends-on ("rng-types"))
	     (:file "cauchy" :depends-on ("rng-types"))
	     (:file "rayleigh" :depends-on ("rng-types"))
	     (:file "rayleigh-tail" :depends-on ("rng-types"))
	     (:file "landau" :depends-on ("rng-types"))
	     (:file "levy" :depends-on ("rng-types"))
	     (:file "gamma" :depends-on ("rng-types"))
	     (:file "flat" :depends-on ("rng-types"))
	     (:file "lognormal" :depends-on ("rng-types"))
	     (:file "chi-squared" :depends-on ("rng-types"))
	     (:file "fdist" :depends-on ("rng-types"))
	     (:file "tdist" :depends-on ("rng-types"))
	     (:file "beta" :depends-on ("rng-types"))
	     (:file "logistic" :depends-on ("rng-types"))
	     (:file "pareto" :depends-on ("rng-types"))
	     (:file "spherical-vector" :depends-on ("rng-types"))
	     (:file "weibull" :depends-on ("rng-types"))
	     (:file "gumbel1" :depends-on ("rng-types"))
	     (:file "gumbel2" :depends-on ("rng-types"))
	     (:file "dirichlet" :depends-on ("rng-types"))
	     (:file "discrete" :depends-on ("rng-types"))
	     (:file "poisson" :depends-on ("rng-types"))
	     (:file "bernoulli" :depends-on ("rng-types"))
	     (:file "binomial" :depends-on ("rng-types"))
	     (:file "multinomial" :depends-on ("rng-types"))
	     (:file "negative-binomial" :depends-on ("rng-types"))
	     (:file "geometric" :depends-on ("rng-types"))
	     (:file "hypergeometric" :depends-on ("rng-types"))
	     (:file "logarithmic" :depends-on ("rng-types"))
	     (:file "shuffling-sampling" :depends-on ("rng-types"))))
199
   (:module statistics
200
	    :depends-on (init data)
201
202
203
204
205
206
207
208
209
	    :components
	    ((:file "mean-variance")
	     (:file "absolute-deviation")
	     (:file "higher-moments")
	     (:file "autocorrelation")
	     (:file "covariance")
	     ;; minimum and maximum values provided in vector.lisp
	     (:file "median-percentile")))
   (:module histogram
210
	    :depends-on (init linear-algebra random)
211
212
	    :components
	    ((:file "histogram")
Liam Healy's avatar
Liam Healy committed
213
214
215
216
	     (:file "updating-accessing" :depends-on ("histogram"))
	     (:file "statistics" :depends-on ("histogram"))
	     (:file "operations" :depends-on ("histogram"))
	     (:file "probability-distribution" :depends-on ("histogram"))
217
218
	     (:file "ntuple")))
   (:module calculus
Liam Healy's avatar
Liam Healy committed
219
	    :depends-on (init mathematical data random)
220
221
	    :components
	    ((:file "numerical-integration")
222
	     (:file "numerical-integration-with-tables"
Liam Healy's avatar
Liam Healy committed
223
		    :depends-on ("numerical-integration"))
224
	     (cffi-grovel:grovel-file "monte-carlo-structs")
225
	     (:file "monte-carlo")
226
227
	     (:file "numerical-differentiation")))
   (:module ordinary-differential-equations
228
	    :depends-on (init)
229
230
	    :components
	    ((:file "ode-system")
231
	     (cffi-grovel:grovel-file "ode-struct")
Liam Healy's avatar
Liam Healy committed
232
	     (:file "stepping" :depends-on ("ode-struct"))
233
234
	     (:file "control")
	     (:file "evolution")
Liam Healy's avatar
Liam Healy committed
235
	     (:file "ode-example" :depends-on ("ode-system" "stepping"))))
236
   (:module interpolation
Liam Healy's avatar
Liam Healy committed
237
	    :depends-on (init mathematical)
238
239
	    :components
	    ((:file "interpolation")
Liam Healy's avatar
Liam Healy committed
240
	     (:file "types" :depends-on ("interpolation"))
241
242
	     (:file "lookup")
	     (:file "evaluation")
Liam Healy's avatar
Liam Healy committed
243
	     (:file "spline-example" :depends-on ("types"))))
244
   (:file "chebyshev" :depends-on (init))
245
   (cffi-grovel:grovel-file "series-struct")
Liam Healy's avatar
Liam Healy committed
246
   (:file "series-acceleration" :depends-on (init mathematical "series-struct"))
247
248
   (:file "wavelet" :depends-on (init data))
   (:file "hankel" :depends-on (init data))
249
   (:module solve-minimize-fit
Liam Healy's avatar
Liam Healy committed
250
	    :depends-on (init mathematical data random)
251
252
	    :components
	    ((:file "generic")
253
	     (cffi-grovel:grovel-file "solver-struct")
Liam Healy's avatar
Liam Healy committed
254
255
256
257
	     (:file "roots-one" :depends-on ("generic"))
	     (:file "minimization-one" :depends-on ("generic"))
	     (:file "roots-multi" :depends-on ("roots-one" "generic" "solver-struct"))
	     (:file "minimization-multi" :depends-on ("generic"))
258
	     (:file "linear-least-squares")
259
	     (:file "nonlinear-least-squares"
Liam Healy's avatar
Liam Healy committed
260
		    :depends-on ("generic" "solver-struct"))
261
262
	     #+fsbv
	     (:file "simulated-annealing")))
263
   (:file "basis-splines" :depends-on (init data random))
264
   (:module physical-constants
265
	    :depends-on (init)
266
	    :components
Liam Healy's avatar
Liam Healy committed
267
268
	    ((cffi-grovel:grovel-file "mksa")
	     (cffi-grovel:grovel-file "cgsm")
269
270
271
272
273
	     (:file export)))
   (:module antik
	    :depends-on (init linear-algebra)
	    :components
	    ((:file "linear-algebra")))))