gsll.asd 7.51 KB
Newer Older
1 2
;; Definition of GSLL system 
;; Liam Healy
3
;; Time-stamp: <2008-08-31 12:49:38EDT 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 12
  :licence "LLGPL v3, FDL"
  :depends-on (cffi ffa)
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
	     ;; http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html
26
	     (:file "lisp-unit")
liam's avatar
liam committed
27
	     (:file "tests" :depends-on (init lisp-unit))))
28 29 30 31
   (:module floating-point
	    :depends-on (init)
	    :components
	    ((:file "ieee-modes")))
32
   (:file "mathematical" :depends-on (init))
33
   ;; complex numbers not necessary?  Just make a struct.
34 35 36 37
   (:module data
	    :depends-on (init)
	    :components
	    ((:file "foreign-friendly")
38 39
	     (:file "data")
	     (:file "vector" :depends-on (data))
40
	     (:file "matrix" :depends-on (data vector))
41
	     (:file "maref" :depends-on (data vector matrix))
42
	     (:file "both" :depends-on (data vector matrix))
43
	     (:file "permutation" :depends-on (data))
44 45
	     (:file "combination"	; preload defgeneric
		    :depends-on (data matrix both permutation))))
46
   (:file "polynomial" :depends-on (init data))
47
   (:module special-functions
48
	    :depends-on (init)
49
	    :components
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 78
	    ((: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
79
   (:file "sorting" :depends-on (init data))
80 81 82
   (:module linear-algebra
	    :depends-on (init data)
	    :components
83
	    ((:file "blas1")
Liam Healy's avatar
Liam Healy committed
84
	     (:file "blas2")
85
	     (:file "blas3" :depends-on (blas2))
Liam Healy's avatar
Liam Healy committed
86
	     (:file "exponential")
87
	     (:file "lu")
Liam Healy's avatar
Liam Healy committed
88
	     (:file "qr")
89 90 91
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
92
	     (:file "diagonal")
93
	     (:file "householder")))
94 95
   (:file "eigensystems" :depends-on (init data))
   ;; Skip fft for now, I'm not sure how it works in C
liam's avatar
liam committed
96
   (:file "numerical-integration" :depends-on (init))
97 98 99
   (:module random
	    :depends-on (init)
	    :components
100
	    ((:file "rng-types")
101
	     (:file "generators" :depends-on (rng-types))
102
	     (:file "quasi" :depends-on (rng-types generators))
liam's avatar
liam committed
103
	     (:file "gaussian" :depends-on (rng-types))
104 105
	     (:file "gaussian-tail" :depends-on (rng-types))
	     (:file "gaussian-bivariate" :depends-on (rng-types))
106
	     (:file "exponential" :depends-on (rng-types))
107 108 109 110 111 112
	     (: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
113 114 115 116 117 118 119 120 121
	     (: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))
122 123
	     (:file "pareto" :depends-on (rng-types))
	     (:file "spherical-vector" :depends-on (rng-types))
124 125 126
	     (:file "weibull" :depends-on (rng-types))
	     (:file "gumbel1" :depends-on (rng-types))
	     (:file "gumbel2" :depends-on (rng-types))
127
	     (:file "dirichlet" :depends-on (rng-types))
128 129 130 131
	     (:file "discrete" :depends-on (rng-types))
	     (:file "poisson" :depends-on (rng-types))
	     (:file "bernoulli" :depends-on (rng-types))
	     (:file "binomial" :depends-on (rng-types))
132
	     (:file "multinomial" :depends-on (rng-types))
133 134 135
	     (:file "negative-binomial" :depends-on (rng-types))
	     (:file "geometric" :depends-on (rng-types))
	     (:file "hypergeometric" :depends-on (rng-types))
136 137 138 139 140
	     (:file "logarithmic" :depends-on (rng-types))
	     (:file "shuffling-sampling" :depends-on (rng-types))))
   (:module statistics
	    :depends-on (init data)
	    :components
141 142 143 144 145 146
	    ((: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
147 148
	     (:file "median-percentile")))
   (:module histogram
149
	    :depends-on (init linear-algebra)
liam's avatar
liam committed
150 151 152 153 154
	    :components
	    ((:file "histogram")
	     (:file "updating-accessing" :depends-on (histogram))
	     (:file "statistics" :depends-on (histogram))
	     (:file "operations" :depends-on (histogram))
liam's avatar
liam committed
155 156
	     (:file "probability-distribution" :depends-on (histogram))
	     (:file "ntuple")))
liam's avatar
liam committed
157
   (:file "monte-carlo" :depends-on (init data random))
158 159 160 161 162 163 164
   (:module ordinary-differential-equations
	    :depends-on (init)
	    :components
	    ((:file "ode-system")
	     (:file "stepping")
	     (:file "control")
	     (:file "evolution")
165 166 167 168 169 170 171
	     (:file "ode-example" :depends-on (ode-system stepping))))
   (:module interpolation
	    :depends-on (init)
	    :components
	    ((:file "interpolation")
	     (:file "types")
	     (:file "lookup")
172
	     (:file "evaluation")
173
	     (:file "spline-example" :depends-on (types))))
liam's avatar
liam committed
174 175
   (:file "numerical-differentiation" :depends-on (init))
   (:file "chebyshev" :depends-on (init))
176
   (:file "series-acceleration" :depends-on (init))
177
   (:file "wavelet" :depends-on (init data))
178
   (:file "hankel" :depends-on (init data))
liam's avatar
liam committed
179
   (:module solve-minimize-fit
liam's avatar
liam committed
180
	    :depends-on (init data random)
liam's avatar
liam committed
181 182 183
	    :components
	    ((:file "roots-one")
	     (:file "minimization-one")
184 185 186 187
	     (:file "roots-multi" :depends-on (roots-one))
	     (:file "minimization-multi")
	     (:file "linear-least-squares")
	     (:file "nonlinear-least-squares")))
188
   (:file "basis-splines" :depends-on (init data))))