gsll.asd 7.53 KB
Newer Older
1 2
;; Definition of GSLL system 
;; Liam Healy
3
;; Time-stamp: <2008-11-30 23:17:52EST gsll.asd>
lhealy's avatar
lhealy committed
4
;; $Id$
5 6 7 8 9 10

(asdf:defsystem "gsll"
  :name "gsll"
  :description "GNU Scientific Library for Lisp."
  :version "0"
  :author "Liam M. Healy"
11
  :licence "LLGPL v3, FDL"
12
  :depends-on (cffi trivial-garbage cl-utilities)
13
  :components
14
  ((:module init
15
	    :components
16
	    ((:file "init")
17
	     (:file "conditions" :depends-on (init))
18
	     (:file "gsl-objects" :depends-on (init))
19
	     (:file "element-types" :depends-on (init))
20
	     (:file "number-conversion" :depends-on (init))
21 22 23
	     (:file "interface"
		    :depends-on (init conditions element-types number-conversion))
	     (:file "defmfun" :depends-on (init element-types interface))
24
	     (:file "callback" :depends-on (init))
25
	     (:file "generate-examples" :depends-on (init))))
26 27 28 29
   (:module floating-point
	    :depends-on (init)
	    :components
	    ((:file "ieee-modes")))
30
   (:file "mathematical" :depends-on (init))
31
   ;; complex numbers not necessary?  Just make a struct.
32 33 34 35
   (:module data
	    :depends-on (init)
	    :components
	    ((:file "foreign-friendly")
36
	     (:file "data" :depends-on (foreign-friendly))
37
	     (:file "vector" :depends-on (data))
38
	     (:file "matrix" :depends-on (data vector))
39
	     (:file "maref" :depends-on (data vector matrix))
40
	     (:file "both" :depends-on (data vector matrix))
41
	     (:file "array-tests" :depends-on (both))
42
	     (:file "permutation" :depends-on (data))
43 44
	     (:file "combination"	; preload defgeneric
		    :depends-on (data matrix both permutation))))
45
   (:file "polynomial" :depends-on (init data))
46
   (:module special-functions
47
	    :depends-on (init)
48
	    :components
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
	    ((:file "return-structures")
	     (: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 "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))))
liam's avatar
liam committed
78
   (:file "sorting" :depends-on (init data))
79
   (:module linear-algebra
Liam Healy's avatar
Liam Healy committed
80
	    :depends-on (init data special-functions)
81
	    :components
82
	    ((:file "blas1")
Liam Healy's avatar
Liam Healy committed
83
	     (:file "blas2")
84
	     (:file "blas3" :depends-on (blas2))
Liam Healy's avatar
Liam Healy committed
85
	     (:file "exponential")
Liam Healy's avatar
Liam Healy committed
86
	     (:file "lu")
Liam Healy's avatar
Liam Healy committed
87
	     (:file "qr")
88 89 90
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
91
	     (:file "diagonal")
92
	     (:file "householder")))
93 94
   (:file "eigensystems" :depends-on (init data))
   ;; Skip fft for now, I'm not sure how it works in C
liam's avatar
liam committed
95
   (:file "numerical-integration" :depends-on (init))
96
   (:module random
97
	    :depends-on (init data)
98
	    :components
liam's avatar
liam committed
99
	    ((:file "rng-types")
100
	     (:file "generators" :depends-on (rng-types))
101
	     (:file "quasi" :depends-on (rng-types generators))
liam's avatar
liam committed
102
	     (:file "gaussian" :depends-on (rng-types))
103 104
	     (:file "gaussian-tail" :depends-on (rng-types))
	     (:file "gaussian-bivariate" :depends-on (rng-types))
liam's avatar
liam committed
105
	     (:file "exponential" :depends-on (rng-types))
106 107 108 109 110 111
	     (: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))
liam's avatar
liam committed
112 113 114 115 116 117 118 119 120
	     (: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))
121 122
	     (:file "pareto" :depends-on (rng-types))
	     (:file "spherical-vector" :depends-on (rng-types))
123 124 125
	     (:file "weibull" :depends-on (rng-types))
	     (:file "gumbel1" :depends-on (rng-types))
	     (:file "gumbel2" :depends-on (rng-types))
126
	     (:file "dirichlet" :depends-on (rng-types))
127 128 129 130
	     (:file "discrete" :depends-on (rng-types))
	     (:file "poisson" :depends-on (rng-types))
	     (:file "bernoulli" :depends-on (rng-types))
	     (:file "binomial" :depends-on (rng-types))
131
	     (:file "multinomial" :depends-on (rng-types))
132 133 134
	     (:file "negative-binomial" :depends-on (rng-types))
	     (:file "geometric" :depends-on (rng-types))
	     (:file "hypergeometric" :depends-on (rng-types))
135 136 137 138 139
	     (:file "logarithmic" :depends-on (rng-types))
	     (:file "shuffling-sampling" :depends-on (rng-types))))
   (:module statistics
	    :depends-on (init data)
	    :components
140 141 142 143 144 145
	    ((:file "mean-variance")
	     (:file "absolute-deviation")
	     (:file "higher-moments")
	     (:file "autocorrelation")
	     (:file "covariance")
	     ;; minimum and maximum values provided in vector.lisp
liam's avatar
liam committed
146 147
	     (:file "median-percentile")))
   (:module histogram
148
	    :depends-on (init linear-algebra)
liam's avatar
liam committed
149 150 151 152 153
	    :components
	    ((:file "histogram")
	     (:file "updating-accessing" :depends-on (histogram))
	     (:file "statistics" :depends-on (histogram))
	     (:file "operations" :depends-on (histogram))
liam's avatar
liam committed
154 155
	     (:file "probability-distribution" :depends-on (histogram))
	     (:file "ntuple")))
liam's avatar
liam committed
156
   (:file "monte-carlo" :depends-on (init data random))
157 158 159 160 161 162 163
   (:module ordinary-differential-equations
	    :depends-on (init)
	    :components
	    ((:file "ode-system")
	     (:file "stepping")
	     (:file "control")
	     (:file "evolution")
164 165 166 167 168 169 170
	     (:file "ode-example" :depends-on (ode-system stepping))))
   (:module interpolation
	    :depends-on (init)
	    :components
	    ((:file "interpolation")
	     (:file "types")
	     (:file "lookup")
171
	     (:file "evaluation")
172
	     (:file "spline-example" :depends-on (types))))
liam's avatar
liam committed
173 174
   (:file "numerical-differentiation" :depends-on (init))
   (:file "chebyshev" :depends-on (init))
175
   (:file "series-acceleration" :depends-on (init))
176
   (:file "wavelet" :depends-on (init data))
177
   (:file "hankel" :depends-on (init data))
liam's avatar
liam committed
178
   (:module solve-minimize-fit
liam's avatar
liam committed
179
	    :depends-on (init data random)
liam's avatar
liam committed
180 181 182
	    :components
	    ((:file "roots-one")
	     (:file "minimization-one")
183 184 185 186
	     (:file "roots-multi" :depends-on (roots-one))
	     (:file "minimization-multi")
	     (:file "linear-least-squares")
	     (:file "nonlinear-least-squares")))
187
   (:file "basis-splines" :depends-on (init data))))