gsll.asd 10.5 KB
Newer Older
1
2
;; Definition of GSLL system 
;; Liam Healy
3
;; Time-stamp: <2009-09-19 18:54:29EDT 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
139
            ((:file "fft-complex")
140
141
             (:file "fft-real")
             (:file "fft-example" :depends-on ("fft-complex" "fft-real"))))
142
   (:module random
143
	    :depends-on (init data)
144
145
	    :components
	    ((:file "rng-types")
Liam Healy's avatar
Liam Healy committed
146
147
148
149
150
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
	     (: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"))))
183
   (:module statistics
184
	    :depends-on (init data)
185
186
187
188
189
190
191
192
193
	    :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
194
	    :depends-on (init linear-algebra random)
195
196
	    :components
	    ((:file "histogram")
Liam Healy's avatar
Liam Healy committed
197
198
199
200
	     (:file "updating-accessing" :depends-on ("histogram"))
	     (:file "statistics" :depends-on ("histogram"))
	     (:file "operations" :depends-on ("histogram"))
	     (:file "probability-distribution" :depends-on ("histogram"))
201
202
	     (:file "ntuple")))
   (:module calculus
203
	    :depends-on (init data random)
204
205
	    :components
	    ((:file "numerical-integration")
206
	     (:file "numerical-integration-with-tables"
Liam Healy's avatar
Liam Healy committed
207
		    :depends-on ("numerical-integration"))
208
	     (cffi-grovel:grovel-file "monte-carlo-structs")
209
	     (:file "monte-carlo")
210
211
	     (:file "numerical-differentiation")))
   (:module ordinary-differential-equations
212
	    :depends-on (init)
213
214
	    :components
	    ((:file "ode-system")
215
	     (cffi-grovel:grovel-file "ode-struct")
Liam Healy's avatar
Liam Healy committed
216
	     (:file "stepping" :depends-on ("ode-struct"))
217
218
	     (:file "control")
	     (:file "evolution")
Liam Healy's avatar
Liam Healy committed
219
	     (:file "ode-example" :depends-on ("ode-system" "stepping"))))
220
   (:module interpolation
221
	    :depends-on (init)
222
223
	    :components
	    ((:file "interpolation")
Liam Healy's avatar
Liam Healy committed
224
	     (:file "types" :depends-on ("interpolation"))
225
226
	     (:file "lookup")
	     (:file "evaluation")
Liam Healy's avatar
Liam Healy committed
227
	     (:file "spline-example" :depends-on ("types"))))
228
   (:file "chebyshev" :depends-on (init))
229
   (cffi-grovel:grovel-file "series-struct")
230
231
232
   (:file "series-acceleration" :depends-on (init "series-struct"))
   (:file "wavelet" :depends-on (init data))
   (:file "hankel" :depends-on (init data))
233
   (:module solve-minimize-fit
234
	    :depends-on (init data random)
235
236
	    :components
	    ((:file "generic")
237
	     (cffi-grovel:grovel-file "solver-struct")
Liam Healy's avatar
Liam Healy committed
238
239
240
241
	     (: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"))
242
	     (:file "linear-least-squares")
243
	     (:file "nonlinear-least-squares"
Liam Healy's avatar
Liam Healy committed
244
		    :depends-on ("generic" "solver-struct"))
245
246
	     #+fsbv
	     (:file "simulated-annealing")))
247
   (:file "basis-splines" :depends-on (init data random))
248
249
   (:module physical-constants
	    :components
Liam Healy's avatar
Liam Healy committed
250
251
252
	    ((cffi-grovel:grovel-file "mksa")
	     (cffi-grovel:grovel-file "cgsm")
	     (:file export)))))
253
254
255
256
257
258
259
260

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