| 1 | ;; Definition of GSLL system |
|---|
| 2 | ;; Liam Healy |
|---|
| 3 | ;; Time-stamp: <2008-03-09 22:13:36EDT gsll.asd> |
|---|
| 4 | ;; $Id$ |
|---|
| 5 | |
|---|
| 6 | (asdf:defsystem "gsll" |
|---|
| 7 | :name "gsll" |
|---|
| 8 | :description "GNU Scientific Library for Lisp." |
|---|
| 9 | :version "0" |
|---|
| 10 | :author "Liam M. Healy" |
|---|
| 11 | :licence "GPL v3, FDL" |
|---|
| 12 | :depends-on (cffi) |
|---|
| 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 "number-conversion" :depends-on (init)) |
|---|
| 20 | (:file "interface" :depends-on (init conditions number-conversion)) |
|---|
| 21 | (:file "callback" :depends-on (init)) |
|---|
| 22 | ;; http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html |
|---|
| 23 | (:file "lisp-unit") |
|---|
| 24 | (:file "tests" :depends-on (init lisp-unit)))) |
|---|
| 25 | (:module floating-point |
|---|
| 26 | :depends-on (init) |
|---|
| 27 | :components |
|---|
| 28 | ((:file "ieee-modes"))) |
|---|
| 29 | (:file "mathematical" :depends-on (init)) |
|---|
| 30 | ;; complex numbers not necessary? Just make a struct. |
|---|
| 31 | (:module data |
|---|
| 32 | :depends-on (init) |
|---|
| 33 | :components |
|---|
| 34 | ((:file "data") |
|---|
| 35 | (:file "block" :depends-on (data)) |
|---|
| 36 | (:file "vector" :depends-on (data)) |
|---|
| 37 | (:file "matrix" :depends-on (data vector)) |
|---|
| 38 | (:file "permutation" :depends-on (data vector)) |
|---|
| 39 | (:file "combination" :depends-on (data)))) |
|---|
| 40 | (:file "polynomial" :depends-on (init data)) |
|---|
| 41 | (:module special-functions |
|---|
| 42 | :depends-on (init) |
|---|
| 43 | :components |
|---|
| 44 | ((:file "return-structures") |
|---|
| 45 | (:file "airy" :depends-on (return-structures)) |
|---|
| 46 | (:file "bessel" :depends-on (return-structures)) |
|---|
| 47 | (:file "clausen" :depends-on (return-structures)) |
|---|
| 48 | (:file "coulomb" :depends-on (return-structures)) |
|---|
| 49 | (:file "coupling" :depends-on (return-structures)) |
|---|
| 50 | (:file "dawson" :depends-on (return-structures)) |
|---|
| 51 | (:file "debye" :depends-on (return-structures)) |
|---|
| 52 | (:file "dilogarithm" :depends-on (return-structures)) |
|---|
| 53 | (:file "elementary" :depends-on (return-structures)) |
|---|
| 54 | (:file "elliptic-integrals" :depends-on (return-structures)) |
|---|
| 55 | (:file "elliptic-functions" :depends-on (return-structures)) |
|---|
| 56 | (:file "error-functions" :depends-on (return-structures)) |
|---|
| 57 | (:file "exponential-functions" :depends-on (return-structures)) |
|---|
| 58 | (:file "exponential-integrals" :depends-on (return-structures)) |
|---|
| 59 | (:file "fermi-dirac" :depends-on (return-structures)) |
|---|
| 60 | (:file "gamma" :depends-on (return-structures)) |
|---|
| 61 | (:file "gegenbauer" :depends-on (return-structures)) |
|---|
| 62 | (:file "hypergeometric" :depends-on (return-structures)) |
|---|
| 63 | (:file "laguerre" :depends-on (return-structures)) |
|---|
| 64 | (:file "lambert" :depends-on (return-structures)) |
|---|
| 65 | (:file "legendre" :depends-on (return-structures)) |
|---|
| 66 | (:file "logarithm" :depends-on (return-structures)) |
|---|
| 67 | (:file "power" :depends-on (return-structures)) |
|---|
| 68 | (:file "psi" :depends-on (return-structures)) |
|---|
| 69 | (:file "synchrotron" :depends-on (return-structures)) |
|---|
| 70 | (:file "transport" :depends-on (return-structures)) |
|---|
| 71 | (:file "trigonometry" :depends-on (return-structures)) |
|---|
| 72 | (:file "zeta" :depends-on (return-structures)))) |
|---|
| 73 | (:file "sorting" :depends-on (init data)) |
|---|
| 74 | (:module linear-algebra |
|---|
| 75 | :depends-on (init data) |
|---|
| 76 | :components |
|---|
| 77 | ((:file "blas1") |
|---|
| 78 | (:file "blas2") |
|---|
| 79 | (:file "blas3" :depends-on (blas2)) |
|---|
| 80 | (:file "lu") |
|---|
| 81 | (:file "qr") |
|---|
| 82 | (:file "qrpt") |
|---|
| 83 | (:file "svd") |
|---|
| 84 | (:file "cholesky") |
|---|
| 85 | (:file "diagonal") |
|---|
| 86 | (:file "householder"))) |
|---|
| 87 | (:file "eigensystems" :depends-on (init data)) |
|---|
| 88 | ;; Skip fft for now, I'm not sure how it works in C |
|---|
| 89 | (:file "numerical-integration" :depends-on (init)) |
|---|
| 90 | (:module random |
|---|
| 91 | :depends-on (init) |
|---|
| 92 | :components |
|---|
| 93 | ((:file "rng-types") |
|---|
| 94 | (:file "generators" :depends-on (rng-types)) |
|---|
| 95 | (:file "quasi" :depends-on (rng-types generators)) |
|---|
| 96 | (:file "gaussian" :depends-on (rng-types)) |
|---|
| 97 | (:file "gaussian-tail" :depends-on (rng-types)) |
|---|
| 98 | (:file "gaussian-bivariate" :depends-on (rng-types)) |
|---|
| 99 | (:file "exponential" :depends-on (rng-types)) |
|---|
| 100 | (:file "laplace" :depends-on (rng-types)) |
|---|
| 101 | (:file "exponential-power" :depends-on (rng-types)) |
|---|
| 102 | (:file "cauchy" :depends-on (rng-types)) |
|---|
| 103 | (:file "rayleigh" :depends-on (rng-types)) |
|---|
| 104 | (:file "rayleigh-tail" :depends-on (rng-types)) |
|---|
| 105 | (:file "landau" :depends-on (rng-types)) |
|---|
| 106 | (:file "levy" :depends-on (rng-types)) |
|---|
| 107 | (:file "gamma" :depends-on (rng-types)) |
|---|
| 108 | (:file "flat" :depends-on (rng-types)) |
|---|
| 109 | (:file "lognormal" :depends-on (rng-types)) |
|---|
| 110 | (:file "chi-squared" :depends-on (rng-types)) |
|---|
| 111 | (:file "fdist" :depends-on (rng-types)) |
|---|
| 112 | (:file "tdist" :depends-on (rng-types)) |
|---|
| 113 | (:file "beta" :depends-on (rng-types)) |
|---|
| 114 | (:file "logistic" :depends-on (rng-types)) |
|---|
| 115 | (:file "pareto" :depends-on (rng-types)) |
|---|
| 116 | (:file "spherical-vector" :depends-on (rng-types)) |
|---|
| 117 | (:file "weibull" :depends-on (rng-types)) |
|---|
| 118 | (:file "gumbel1" :depends-on (rng-types)) |
|---|
| 119 | (:file "gumbel2" :depends-on (rng-types)) |
|---|
| 120 | (:file "dirichlet" :depends-on (rng-types)) |
|---|
| 121 | (:file "discrete" :depends-on (rng-types)) |
|---|
| 122 | (:file "poisson" :depends-on (rng-types)) |
|---|
| 123 | (:file "bernoulli" :depends-on (rng-types)) |
|---|
| 124 | (:file "binomial" :depends-on (rng-types)) |
|---|
| 125 | (:file "multinomial" :depends-on (rng-types)) |
|---|
| 126 | (:file "negative-binomial" :depends-on (rng-types)) |
|---|
| 127 | (:file "geometric" :depends-on (rng-types)) |
|---|
| 128 | (:file "hypergeometric" :depends-on (rng-types)) |
|---|
| 129 | (:file "logarithmic" :depends-on (rng-types)) |
|---|
| 130 | (:file "shuffling-sampling" :depends-on (rng-types)))) |
|---|
| 131 | (:module statistics |
|---|
| 132 | :depends-on (init data) |
|---|
| 133 | :components |
|---|
| 134 | ((:file "mean-variance") |
|---|
| 135 | (:file "absolute-deviation") |
|---|
| 136 | (:file "higher-moments") |
|---|
| 137 | (:file "autocorrelation") |
|---|
| 138 | (:file "covariance") |
|---|
| 139 | ;; minimum and maximum values provided in vector.lisp |
|---|
| 140 | (:file "median-percentile"))) |
|---|
| 141 | (:module histogram |
|---|
| 142 | :depends-on (init) |
|---|
| 143 | :components |
|---|
| 144 | ((:file "histogram") |
|---|
| 145 | (:file "updating-accessing" :depends-on (histogram)) |
|---|
| 146 | (:file "statistics" :depends-on (histogram)) |
|---|
| 147 | (:file "operations" :depends-on (histogram)) |
|---|
| 148 | (:file "read-write" :depends-on (histogram)) |
|---|
| 149 | (:file "probability-distribution" :depends-on (histogram)) |
|---|
| 150 | (:file "ntuple"))) |
|---|
| 151 | (:file "monte-carlo" :depends-on (init data random)) |
|---|
| 152 | (:module ordinary-differential-equations |
|---|
| 153 | :depends-on (init) |
|---|
| 154 | :components |
|---|
| 155 | ((:file "ode-system") |
|---|
| 156 | (:file "stepping") |
|---|
| 157 | (:file "control") |
|---|
| 158 | (:file "evolution") |
|---|
| 159 | (:file "ode-example" :depends-on (ode-system stepping)))) |
|---|
| 160 | (:module interpolation |
|---|
| 161 | :depends-on (init) |
|---|
| 162 | :components |
|---|
| 163 | ((:file "interpolation") |
|---|
| 164 | (:file "types") |
|---|
| 165 | (:file "lookup") |
|---|
| 166 | (:file "evaluation") |
|---|
| 167 | (:file "spline-example" :depends-on (types)))) |
|---|
| 168 | (:file "numerical-differentiation" :depends-on (init)) |
|---|
| 169 | (:file "chebyshev" :depends-on (init)) |
|---|
| 170 | (:file "series-acceleration" :depends-on (init)) |
|---|
| 171 | (:file "wavelet" :depends-on (init data)) |
|---|
| 172 | (:file "hankel" :depends-on (init data)) |
|---|
| 173 | (:module solve-minimize-fit |
|---|
| 174 | :depends-on (init data random) |
|---|
| 175 | :components |
|---|
| 176 | ((:file "roots-one") |
|---|
| 177 | (:file "minimization-one") |
|---|
| 178 | (:file "roots-multi" :depends-on (roots-one)) |
|---|
| 179 | (:file "minimization-multi") |
|---|
| 180 | (:file "linear-least-squares") |
|---|
| 181 | (:file "nonlinear-least-squares"))) |
|---|
| 182 | (:file "basis-splines" :depends-on (init data)))) |
|---|