gsll.asd 10.8 KB
Newer Older
1
2
;; Definition of GSLL system 
;; Liam Healy
Liam Healy's avatar
Liam Healy committed
3
;; Time-stamp: <2009-12-06 22:14:49EST gsll.asd>
4

Liam Healy's avatar
Liam Healy committed
5
6
7
(when (asdf:find-system :fsbv nil)
  (pushnew :fsbv *features*))

8
9
10
(eval-when (:compile-toplevel :load-toplevel :execute)
  (asdf:oos 'asdf:load-op :cffi-grovel))

11
12
(asdf:defsystem GSLL
  :name "GSLL"
13
14
15
16
  :description "GNU Scientific Library for Lisp."
  :version "0"
  :author "Liam M. Healy"
  :licence "LLGPL v3, FDL"
Liam Healy's avatar
Liam Healy committed
17
  :depends-on (cffi cffi-grovel trivial-garbage cl-utilities #+fsbv fsbv)
18
  :components
Liam Healy's avatar
Liam Healy committed
19
20
21
22
23
24
25
  ((:module grid			; temporary
	    :components
	    ((:file "pkgdcl")
	     (:file "types" :depends-on ("pkgdcl"))
	     (:file "complex-types" :depends-on ("types"))))
   (:module init
	    :depends-on (grid)
26
27
	    :components
	    ((:file "init")
28
	     (cffi-grovel:grovel-file "libgsl" :pathname #+unix "libgsl-unix")
29
	     (:file "utility")
30
	     (:file "forms")
Liam Healy's avatar
Liam Healy committed
31
32
33
34
35
	     (:file "conditions" :depends-on ("init" "libgsl"))
	     (:file "number-conversion" :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"))
36
	     (:file "callback"
Liam Healy's avatar
Liam Healy committed
37
38
39
40
41
42
43
		    :depends-on
		    ("init" "utility" "forms" "number-conversion"
			    "callback-included"))
	     (:file "types" :depends-on ("init" "libgsl"))
	     (cffi-grovel:grovel-file "callback-struct"
				      :depends-on ("types" "libgsl"))
	     (:file "funcallable" :depends-on ("utility"))
Liam Healy's avatar
Liam Healy committed
44
	     (:file "element-types" :depends-on ("init"))
45
	     (:file "interface"
Liam Healy's avatar
Liam Healy committed
46
47
48
49
50
51
52
53
54
55
		    :depends-on ("init" "conditions" "element-types"
					"number-conversion"))
	     (:file "defmfun"
		    :depends-on ("init" "forms" "element-types" "interface"))
	     (:file "defmfun-array"
		    :depends-on ("defmfun" "callback-included"))
	     (:file "defmfun-single"
		    :depends-on ("defmfun" "mobject" "callback"))
	     (:file "body-expand" :depends-on ("defmfun" "mobject" "callback"))
	     (:file "generate-examples" :depends-on ("init"))))
56
   (:module floating-point
57
	    :depends-on (init)
58
59
60
61
	    :components
	    ((:file "ieee-modes")
	     (:file "floating-point")))
   (:module mathematical
62
	    :depends-on (init)
63
64
	    :components
	    ((:file "mathematical")
Liam Healy's avatar
Liam Healy committed
65
	     #+fsbv
66
67
	     (:file "complex")))
   (:module data
68
	    :depends-on (init)
69
70
	    :components
	    ((:file "foreign-friendly")
Liam Healy's avatar
Liam Healy committed
71
	     (:file "foreign-array" :depends-on ("foreign-friendly"))
72
	     (cffi-grovel:grovel-file "array-structs")
Liam Healy's avatar
Liam Healy committed
73
74
75
76
77
	     (:file "marray" :depends-on ("foreign-array" "array-structs"))
	     (:file "vector" :depends-on ("marray" "array-structs"))
	     (:file "matrix" :depends-on ("marray" "vector" "array-structs"))
	     (:file "maref" :depends-on ("marray" "vector" "matrix"))
	     (:file "both" :depends-on ("marray" "vector" "matrix"))
78
	     (:file "copy-cl")
Liam Healy's avatar
Liam Healy committed
79
80
81
	     (:file "array-tests" :depends-on ("both"))
	     (:file "permutation" :depends-on ("marray" "array-structs"))
	     (:file "combination" :depends-on ("marray" "array-structs"))))
Liam Healy's avatar
Liam Healy committed
82
   (:file "polynomial" :depends-on (grid init data))
83
   (:module special-functions
84
	    :depends-on (init)
85
	    :components
86
	    ((cffi-grovel:grovel-file "sf-result")
Liam Healy's avatar
Liam Healy committed
87
88
89
90
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
	     (: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"))))
117
   (:file "sorting" :depends-on (init data))
118
   (:module linear-algebra
119
	    :depends-on (init data special-functions)
120
121
122
	    :components
	    ((:file "blas1")
	     (:file "blas2")
Liam Healy's avatar
Liam Healy committed
123
	     (:file "blas3" :depends-on ("blas2"))
124
	     (:file "matrix-generation")
125
126
127
128
129
130
131
132
133
	     (:file "exponential")
	     (:file "lu")
	     (:file "qr")
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
	     (:file "diagonal")
	     (:file "householder")))
   (:module eigensystems
134
	    :depends-on (init data)
135
136
	    :components
	    ((:file "symmetric-hermitian")
137
	     (cffi-grovel:grovel-file "eigen-struct")
Liam Healy's avatar
Liam Healy committed
138
	     (:file "nonsymmetric" :depends-on ("eigen-struct"))
139
140
	     (:file "generalized")
	     (:file "nonsymmetric-generalized")))
141
142
143
   (:module fast-fourier-transforms
            :depends-on (init data)
            :components
Liam Healy's avatar
Liam Healy committed
144
145
146
147
148
            ((:file "wavetable-workspace")
	     (:file "forward")
             (:file "backward")
             (:file "inverse")
             (:file "select-direction")
Liam Healy's avatar
Liam Healy committed
149
             (:file "unpack")
150
             (:file "discrete")
151
             (:file "extras")
Liam Healy's avatar
Liam Healy committed
152
	     (:file "example")))
153
   (:module random
154
	    :depends-on (init data)
155
156
	    :components
	    ((:file "rng-types")
Liam Healy's avatar
Liam Healy committed
157
158
159
160
161
162
163
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
	     (:file "generators" :depends-on ("rng-types"))
	     (:file "quasi" :depends-on ("rng-types" "generators"))
	     (: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"))))
194
   (:module statistics
195
	    :depends-on (init data)
196
197
198
199
200
201
202
203
204
	    :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
205
	    :depends-on (init linear-algebra random)
206
207
	    :components
	    ((:file "histogram")
Liam Healy's avatar
Liam Healy committed
208
209
210
211
	     (:file "updating-accessing" :depends-on ("histogram"))
	     (:file "statistics" :depends-on ("histogram"))
	     (:file "operations" :depends-on ("histogram"))
	     (:file "probability-distribution" :depends-on ("histogram"))
212
213
	     (:file "ntuple")))
   (:module calculus
214
	    :depends-on (init data random)
215
216
	    :components
	    ((:file "numerical-integration")
217
	     (:file "numerical-integration-with-tables"
Liam Healy's avatar
Liam Healy committed
218
		    :depends-on ("numerical-integration"))
219
	     (cffi-grovel:grovel-file "monte-carlo-structs")
220
	     (:file "monte-carlo")
221
222
	     (:file "numerical-differentiation")))
   (:module ordinary-differential-equations
223
	    :depends-on (init)
224
225
	    :components
	    ((:file "ode-system")
226
	     (cffi-grovel:grovel-file "ode-struct")
Liam Healy's avatar
Liam Healy committed
227
	     (:file "stepping" :depends-on ("ode-struct"))
228
229
	     (:file "control")
	     (:file "evolution")
Liam Healy's avatar
Liam Healy committed
230
	     (:file "ode-example" :depends-on ("ode-system" "stepping"))))
231
   (:module interpolation
232
	    :depends-on (init)
233
234
	    :components
	    ((:file "interpolation")
Liam Healy's avatar
Liam Healy committed
235
	     (:file "types" :depends-on ("interpolation"))
236
237
	     (:file "lookup")
	     (:file "evaluation")
Liam Healy's avatar
Liam Healy committed
238
	     (:file "spline-example" :depends-on ("types"))))
239
   (:file "chebyshev" :depends-on (init))
240
   (cffi-grovel:grovel-file "series-struct")
241
242
243
   (:file "series-acceleration" :depends-on (init "series-struct"))
   (:file "wavelet" :depends-on (init data))
   (:file "hankel" :depends-on (init data))
244
   (:module solve-minimize-fit
245
	    :depends-on (init data random)
246
247
	    :components
	    ((:file "generic")
248
	     (cffi-grovel:grovel-file "solver-struct")
Liam Healy's avatar
Liam Healy committed
249
250
251
252
	     (: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"))
253
	     (:file "linear-least-squares")
254
	     (:file "nonlinear-least-squares"
Liam Healy's avatar
Liam Healy committed
255
		    :depends-on ("generic" "solver-struct"))
256
257
	     #+fsbv
	     (:file "simulated-annealing")))
258
   (:file "basis-splines" :depends-on (init data random))
259
   (:module physical-constants
260
	    :depends-on (init)
261
	    :components
Liam Healy's avatar
Liam Healy committed
262
263
264
	    ((cffi-grovel:grovel-file "mksa")
	     (cffi-grovel:grovel-file "cgsm")
	     (:file export)))))
265
266
267
268
269
270
271
272

#+asdf-system-connections 
(asdf:defsystem-connection gsll-iterate-extension
    :requires (gsll iterate)
    :components ((:module
		  "gsll-iterate"
		  :pathname "data/"
		  :components ((:file "iterate")))))