gsll.asd 10.3 KB
Newer Older
1
2
;; Definition of GSLL system 
;; Liam Healy
Liam Healy's avatar
Liam Healy committed
3
;; Time-stamp: <2009-08-23 10:31:19EDT 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
Liam Healy's avatar
Liam Healy committed
52
	    :depends-on ("init")
53
54
55
56
	    :components
	    ((:file "ieee-modes")
	     (:file "floating-point")))
   (:module mathematical
Liam Healy's avatar
Liam Healy committed
57
	    :depends-on ("init")
58
59
	    :components
	    ((:file "mathematical")
Liam Healy's avatar
Liam Healy committed
60
	     #+fsbv
61
62
	     (:file "complex")))
   (:module data
Liam Healy's avatar
Liam Healy committed
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
77
	     (:file "array-tests" :depends-on ("both"))
	     (:file "permutation" :depends-on ("marray" "array-structs"))
	     (:file "combination" :depends-on ("marray" "array-structs"))))
   (:file "polynomial" :depends-on ("init" "data"))
78
   (:module special-functions
Liam Healy's avatar
Liam Healy committed
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
112
	     (: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"))))
   (:file "sorting" :depends-on ("init" "data"))
113
   (:module linear-algebra
Liam Healy's avatar
Liam Healy committed
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
120
121
122
123
124
125
126
127
	     (:file "exponential")
	     (:file "lu")
	     (:file "qr")
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
	     (:file "diagonal")
	     (:file "householder")))
   (:module eigensystems
Liam Healy's avatar
Liam Healy committed
128
	    :depends-on ("init" "data")
129
130
	    :components
	    ((:file "symmetric-hermitian")
131
	     (cffi-grovel:grovel-file "eigen-struct")
Liam Healy's avatar
Liam Healy committed
132
	     (:file "nonsymmetric" :depends-on ("eigen-struct"))
133
134
135
136
	     (:file "generalized")
	     (:file "nonsymmetric-generalized")))
   ;; Skip fft for now, I'm not sure how it works in C
   (:module random
Liam Healy's avatar
Liam Healy committed
137
	    :depends-on ("init" "data")
138
139
	    :components
	    ((:file "rng-types")
Liam Healy's avatar
Liam Healy committed
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
	     (: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"))))
177
   (:module statistics
Liam Healy's avatar
Liam Healy committed
178
	    :depends-on ("init" "data")
179
180
181
182
183
184
185
186
187
	    :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
Liam Healy's avatar
Liam Healy committed
188
	    :depends-on ("init" "linear-algebra" "random")
189
190
	    :components
	    ((:file "histogram")
Liam Healy's avatar
Liam Healy committed
191
192
193
194
	     (:file "updating-accessing" :depends-on ("histogram"))
	     (:file "statistics" :depends-on ("histogram"))
	     (:file "operations" :depends-on ("histogram"))
	     (:file "probability-distribution" :depends-on ("histogram"))
195
196
	     (:file "ntuple")))
   (:module calculus
Liam Healy's avatar
Liam Healy committed
197
	    :depends-on ("init" "data" "random")
198
199
	    :components
	    ((:file "numerical-integration")
200
	     (:file "numerical-integration-with-tables"
Liam Healy's avatar
Liam Healy committed
201
		    :depends-on ("numerical-integration"))
202
	     (cffi-grovel:grovel-file "monte-carlo-structs")
203
	     (:file "monte-carlo")
204
205
	     (:file "numerical-differentiation")))
   (:module ordinary-differential-equations
Liam Healy's avatar
Liam Healy committed
206
	    :depends-on ("init")
207
208
	    :components
	    ((:file "ode-system")
209
	     (cffi-grovel:grovel-file "ode-struct")
Liam Healy's avatar
Liam Healy committed
210
	     (:file "stepping" :depends-on ("ode-struct"))
211
212
	     (:file "control")
	     (:file "evolution")
Liam Healy's avatar
Liam Healy committed
213
	     (:file "ode-example" :depends-on ("ode-system" "stepping"))))
214
   (:module interpolation
Liam Healy's avatar
Liam Healy committed
215
	    :depends-on ("init")
216
217
	    :components
	    ((:file "interpolation")
Liam Healy's avatar
Liam Healy committed
218
	     (:file "types" :depends-on ("interpolation"))
219
220
	     (:file "lookup")
	     (:file "evaluation")
Liam Healy's avatar
Liam Healy committed
221
222
	     (:file "spline-example" :depends-on ("types"))))
   (:file "chebyshev" :depends-on ("init"))
223
   (cffi-grovel:grovel-file "series-struct")
Liam Healy's avatar
Liam Healy committed
224
225
226
   (:file "series-acceleration" :depends-on ("init" "series-struct"))
   (:file "wavelet" :depends-on ("init" "data"))
   (:file "hankel" :depends-on ("init" "data"))
227
   (:module solve-minimize-fit
Liam Healy's avatar
Liam Healy committed
228
	    :depends-on ("init" "data" "random")
229
230
	    :components
	    ((:file "generic")
231
	     (cffi-grovel:grovel-file "solver-struct")
Liam Healy's avatar
Liam Healy committed
232
233
234
235
	     (: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"))
236
	     (:file "linear-least-squares")
237
	     (:file "nonlinear-least-squares"
Liam Healy's avatar
Liam Healy committed
238
		    :depends-on ("generic" "solver-struct"))
239
240
	     #+fsbv
	     (:file "simulated-annealing")))
Liam Healy's avatar
Liam Healy committed
241
   (:file "basis-splines" :depends-on ("init" "data" "random"))
242
243
   (:module physical-constants
	    :components
Liam Healy's avatar
Liam Healy committed
244
245
246
	    ((cffi-grovel:grovel-file "mksa")
	     (cffi-grovel:grovel-file "cgsm")
	     (:file export)))))
247
248
249
250
251
252
253
254

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