gsll.asd 10.3 KB
Newer Older
1
2
;; Definition of GSLL system 
;; Liam Healy
3
;; Time-stamp: <2009-12-23 22:47:56EST 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"
17
  :depends-on (c-array grid cffi cffi-grovel trivial-garbage cl-utilities #+fsbv fsbv)
18
  :components
19
  ((:module init
20
21
	    :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
	     (:file "conditions" :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"))
29
	     (:file "callback"
Liam Healy's avatar
Liam Healy committed
30
		    :depends-on
31
		    ("init" "utility" "forms"
Liam Healy's avatar
Liam Healy committed
32
33
34
35
36
			    "callback-included"))
	     (:file "types" :depends-on ("init" "libgsl"))
	     (cffi-grovel:grovel-file "callback-struct"
				      :depends-on ("types" "libgsl"))
	     (:file "funcallable" :depends-on ("utility"))
37
	     (:file "interface"
38
		    :depends-on ("init" "conditions"))
39
	     (:file "defmfun" :depends-on ("init" "forms" "interface"))
Liam Healy's avatar
Liam Healy committed
40
41
42
43
44
45
	     (: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"))))
46
   (:module floating-point
47
	    :depends-on (init)
48
49
50
51
	    :components
	    ((:file "ieee-modes")
	     (:file "floating-point")))
   (:module mathematical
52
	    :depends-on (init)
53
54
	    :components
	    ((:file "mathematical")
Liam Healy's avatar
Liam Healy committed
55
	     #+fsbv
56
57
	     (:file "complex")))
   (:module data
58
	    :depends-on (init)
59
	    :components
60
61
	    ((cffi-grovel:grovel-file "array-structs")
	     (:file "marray" :depends-on ("array-structs"))
Liam Healy's avatar
Liam Healy committed
62
63
64
65
	     (: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"))
66
	     (:file "copy-cl")
Liam Healy's avatar
Liam Healy committed
67
68
69
	     (:file "array-tests" :depends-on ("both"))
	     (:file "permutation" :depends-on ("marray" "array-structs"))
	     (:file "combination" :depends-on ("marray" "array-structs"))))
70
   (:file "polynomial" :depends-on (init data))
71
   (:module special-functions
72
	    :depends-on (init)
73
	    :components
74
	    ((cffi-grovel:grovel-file "sf-result")
Liam Healy's avatar
Liam Healy committed
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
	     (: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"))))
105
   (:file "sorting" :depends-on (init data))
106
   (:module linear-algebra
107
	    :depends-on (init data special-functions)
108
109
110
	    :components
	    ((:file "blas1")
	     (:file "blas2")
Liam Healy's avatar
Liam Healy committed
111
	     (:file "blas3" :depends-on ("blas2"))
112
	     (:file "matrix-generation")
113
114
115
116
117
118
119
120
121
	     (:file "exponential")
	     (:file "lu")
	     (:file "qr")
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
	     (:file "diagonal")
	     (:file "householder")))
   (:module eigensystems
122
	    :depends-on (init data)
123
124
	    :components
	    ((:file "symmetric-hermitian")
125
	     (cffi-grovel:grovel-file "eigen-struct")
Liam Healy's avatar
Liam Healy committed
126
	     (:file "nonsymmetric" :depends-on ("eigen-struct"))
127
128
	     (:file "generalized")
	     (:file "nonsymmetric-generalized")))
129
130
131
   (:module fast-fourier-transforms
            :depends-on (init data)
            :components
Liam Healy's avatar
Liam Healy committed
132
133
134
135
136
            ((:file "wavetable-workspace")
	     (:file "forward")
             (:file "backward")
             (:file "inverse")
             (:file "select-direction")
Liam Healy's avatar
Liam Healy committed
137
             (:file "unpack")
138
             (:file "discrete")
139
             (:file "extras")
Liam Healy's avatar
Liam Healy committed
140
	     (:file "example")))
141
   (:module random
142
	    :depends-on (init data)
143
144
	    :components
	    ((:file "rng-types")
Liam Healy's avatar
Liam Healy committed
145
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
	     (: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"))))
182
   (:module statistics
183
	    :depends-on (init data)
184
185
186
187
188
189
190
191
192
	    :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
193
	    :depends-on (init linear-algebra random)
194
195
	    :components
	    ((:file "histogram")
Liam Healy's avatar
Liam Healy committed
196
197
198
199
	     (:file "updating-accessing" :depends-on ("histogram"))
	     (:file "statistics" :depends-on ("histogram"))
	     (:file "operations" :depends-on ("histogram"))
	     (:file "probability-distribution" :depends-on ("histogram"))
200
201
	     (:file "ntuple")))
   (:module calculus
202
	    :depends-on (init data random)
203
204
	    :components
	    ((:file "numerical-integration")
205
	     (:file "numerical-integration-with-tables"
Liam Healy's avatar
Liam Healy committed
206
		    :depends-on ("numerical-integration"))
207
	     (cffi-grovel:grovel-file "monte-carlo-structs")
208
	     (:file "monte-carlo")
209
210
	     (:file "numerical-differentiation")))
   (:module ordinary-differential-equations
211
	    :depends-on (init)
212
213
	    :components
	    ((:file "ode-system")
214
	     (cffi-grovel:grovel-file "ode-struct")
Liam Healy's avatar
Liam Healy committed
215
	     (:file "stepping" :depends-on ("ode-struct"))
216
217
	     (:file "control")
	     (:file "evolution")
Liam Healy's avatar
Liam Healy committed
218
	     (:file "ode-example" :depends-on ("ode-system" "stepping"))))
219
   (:module interpolation
220
	    :depends-on (init)
221
222
	    :components
	    ((:file "interpolation")
Liam Healy's avatar
Liam Healy committed
223
	     (:file "types" :depends-on ("interpolation"))
224
225
	     (:file "lookup")
	     (:file "evaluation")
Liam Healy's avatar
Liam Healy committed
226
	     (:file "spline-example" :depends-on ("types"))))
227
   (:file "chebyshev" :depends-on (init))
228
   (cffi-grovel:grovel-file "series-struct")
229
230
231
   (:file "series-acceleration" :depends-on (init "series-struct"))
   (:file "wavelet" :depends-on (init data))
   (:file "hankel" :depends-on (init data))
232
   (:module solve-minimize-fit
233
	    :depends-on (init data random)
234
235
	    :components
	    ((:file "generic")
236
	     (cffi-grovel:grovel-file "solver-struct")
Liam Healy's avatar
Liam Healy committed
237
238
239
240
	     (: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"))
241
	     (:file "linear-least-squares")
242
	     (:file "nonlinear-least-squares"
Liam Healy's avatar
Liam Healy committed
243
		    :depends-on ("generic" "solver-struct"))
244
245
	     #+fsbv
	     (:file "simulated-annealing")))
246
   (:file "basis-splines" :depends-on (init data random))
247
   (:module physical-constants
248
	    :depends-on (init)
249
	    :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")))))