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

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