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

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