gsll.asd 9.68 KB
Newer Older
1
2
;; Definition of GSLL system 
;; Liam Healy
Liam Healy's avatar
Liam Healy committed
3
;; Time-stamp: <2009-06-14 23:31:29EDT gsll.asd>
lhealy's avatar
lhealy committed
4
;; $Id$
5

Liam Healy's avatar
Liam Healy committed
6
7
8
(when (asdf:find-system :fsbv nil)
  (pushnew :fsbv *features*))

9
(asdf:defsystem "gsll"
10
11
12
13
14
  :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
15
  :depends-on (cffi cffi-grovel trivial-garbage cl-utilities #+fsbv fsbv)
16
17
18
19
  :components
  ((:module init
	    :components
	    ((:file "init")
20
	     (cffi-grovel:grovel-file "libgsl" :pathname #+unix "libgsl-unix")
21
	     (:file "utility")
22
23
24
25
26
27
	     (:file "forms")
	     (:file "conditions" :depends-on (init))
	     (:file "number-conversion" :depends-on (init))
	     (:file "callback-compile-defs" :depends-on (init))
	     (:file "mobject" :depends-on (init callback-compile-defs))
	     (:file "callback-included" :depends-on (mobject))
28
29
	     (:file "callback"
		    :depends-on (init utility forms number-conversion callback-included))
30
	     (:file "types" :depends-on (init))
31
	     (cffi-grovel:grovel-file "callback-struct" :depends-on (types))
32
	     (:file "funcallable" :depends-on (utility))
33
34
35
36
37
38
39
	     (:file "complex-types" :depends-on (types))
	     (:file "element-types" :depends-on (init complex-types))
	     (:file "interface"
		    :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))
40
	     (:file "body-expand" :depends-on (defmfun mobject callback))
41
42
43
44
45
46
47
48
49
50
	     (:file "generate-examples" :depends-on (init))))
   (:module floating-point
	    :depends-on (init)
	    :components
	    ((:file "ieee-modes")
	     (:file "floating-point")))
   (:module mathematical
	    :depends-on (init)
	    :components
	    ((:file "mathematical")
Liam Healy's avatar
Liam Healy committed
51
	     #+fsbv
52
53
54
55
56
57
	     (:file "complex")))
   (:module data
	    :depends-on (init)
	    :components
	    ((:file "foreign-friendly")
	     (:file "foreign-array" :depends-on (foreign-friendly))
58
59
60
61
	     (cffi-grovel:grovel-file "array-structs")
	     (:file "marray" :depends-on (foreign-array array-structs))
	     (:file "vector" :depends-on (marray array-structs))
	     (:file "matrix" :depends-on (marray vector array-structs))
62
63
64
65
	     (:file "maref" :depends-on (marray vector matrix))
	     (:file "both" :depends-on (marray vector matrix))
	     (:file "copy-cl")
	     (:file "array-tests" :depends-on (both))
66
67
	     (:file "permutation" :depends-on (marray array-structs))
	     (:file "combination" :depends-on (marray array-structs))))
68
69
70
71
   (:file "polynomial" :depends-on (init data))
   (:module special-functions
	    :depends-on (init)
	    :components
72
73
	    ((cffi-grovel:grovel-file "sf-result")
	     (:file "return-structures" :depends-on (sf-result))
74
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
	     (: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))))
   (:file "sorting" :depends-on (init data))
   (:module linear-algebra
	    :depends-on (init data special-functions)
	    :components
	    ((:file "blas1")
	     (:file "blas2")
	     (:file "blas3" :depends-on (blas2))
	     (:file "exponential")
	     (:file "lu")
	     (:file "qr")
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
	     (:file "diagonal")
	     (:file "householder")))
   (:module eigensystems
	    :depends-on (init data)
	    :components
	    ((:file "symmetric-hermitian")
122
123
	     (cffi-grovel:grovel-file "eigen-struct")
	     (:file "nonsymmetric" :depends-on (eigen-struct))
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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
	     (:file "generalized")
	     (:file "nonsymmetric-generalized")))
   ;; Skip fft for now, I'm not sure how it works in C
   (:module random
	    :depends-on (init data)
	    :components
	    ((:file "rng-types")
	     (: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))))
   (:module statistics
	    :depends-on (init data)
	    :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
179
	    :depends-on (init linear-algebra random)
180
181
182
183
184
185
186
187
188
189
190
	    :components
	    ((:file "histogram")
	     (:file "updating-accessing" :depends-on (histogram))
	     (:file "statistics" :depends-on (histogram))
	     (:file "operations" :depends-on (histogram))
	     (:file "probability-distribution" :depends-on (histogram))
	     (:file "ntuple")))
   (:module calculus
	    :depends-on (init data random)
	    :components
	    ((:file "numerical-integration")
191
192
	     (:file "numerical-integration-with-tables"
		    :depends-on (numerical-integration))
193
	     (cffi-grovel:grovel-file "monte-carlo-structs")
194
	     (:file "monte-carlo")
195
196
197
198
199
	     (:file "numerical-differentiation")))
   (:module ordinary-differential-equations
	    :depends-on (init)
	    :components
	    ((:file "ode-system")
200
201
	     (cffi-grovel:grovel-file "ode-struct")
	     (:file "stepping" :depends-on (ode-struct))
202
203
204
205
206
207
208
209
210
211
212
213
	     (:file "control")
	     (:file "evolution")
	     (:file "ode-example" :depends-on (ode-system stepping))))
   (:module interpolation
	    :depends-on (init)
	    :components
	    ((:file "interpolation")
	     (:file "types" :depends-on (interpolation))
	     (:file "lookup")
	     (:file "evaluation")
	     (:file "spline-example" :depends-on (types))))
   (:file "chebyshev" :depends-on (init))
214
215
   (cffi-grovel:grovel-file "series-struct")
   (:file "series-acceleration" :depends-on (init series-struct))
216
217
218
219
220
221
   (:file "wavelet" :depends-on (init data))
   (:file "hankel" :depends-on (init data))
   (:module solve-minimize-fit
	    :depends-on (init data random)
	    :components
	    ((:file "generic")
222
	     (cffi-grovel:grovel-file "solver-struct")
223
224
	     (:file "roots-one" :depends-on (generic))
	     (:file "minimization-one" :depends-on (generic))
225
	     (:file "roots-multi" :depends-on (roots-one generic solver-struct))
226
227
	     (:file "minimization-multi" :depends-on (generic))
	     (:file "linear-least-squares")
228
229
	     (:file "nonlinear-least-squares"
		    :depends-on (generic solver-struct))
230
231
	     #+fsbv
	     (:file "simulated-annealing")))
232
   (:file "basis-splines" :depends-on (init data random))))
233
234
235
236
237
238
239
240

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