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

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