gsll.asd 7.17 KB
Newer Older
1
;********************************************************
2
; file:        gsll.asd                              
3
4
5
; description: Definition of GSLL system 
; date:        
; author:      Liam Healy
6
; modified:    Tue Jan  8 2008 - 22:52
7
8
9
10
11
12
13
14
;********************************************************
;;; $Id: $

(asdf:defsystem "gsll"
  :name "gsll"
  :description "GNU Scientific Library for Lisp."
  :version "0"
  :author "Liam M. Healy"
15
16
  :licence "GPL v3"
  :depends-on (cffi)
17
  :components
18
  ((:module init
19
	    :components
20
	    ((:file "init")
21
	     (:file "conditions" :depends-on (init))
22
	     (:file "utility" :depends-on (init))
23
	     (:file "number-conversion" :depends-on (init))
24
	     (:file "interface" :depends-on (conditions init number-conversion))
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
   (:module general
	    :depends-on (init)
	    :components
31
	    ((:file "mathematical")
32
	     (:file "functions")))
33
   ;; complex numbers not necessary?  Just make a struct.
34
35
36
37
38
39
   (:module data
	    :depends-on (init)
	    :components
	    ((:file "data")
	     (:file "block" :depends-on (data))
	     (:file "vector" :depends-on (data))
40
	     (:file "matrix" :depends-on (data vector))
41
42
	     (:file "permutation" :depends-on (data vector))
	     (:file "combination" :depends-on (data))))
43
44
   #+unnecessary (:file "cffi-array")
   (:file "polynomial" :depends-on (init data))
45
   (:module special-functions
46
	    :depends-on (init)
47
	    :components
48
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
	    ((: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
77
   (:file "sorting" :depends-on (init data))
78
79
80
   (:module linear-algebra
	    :depends-on (init data)
	    :components
81
	    ((:file "blas1")
82
83
84
	     (:file "blas2")
	     (:file "blas3" :depends-on (blas2))
	     (:file "lu")
liam's avatar
liam committed
85
	     (:file "qr")
86
87
88
89
90
	     (:file "qrpt")
	     (:file "svd")
	     (:file "cholesky")
	     (:file "diagonal")
	     (:file "householder")))
91
92
   (:file "eigensystems" :depends-on (init data))
   ;; Skip fft for now, I'm not sure how it works in C
93
   (:file "numerical-integration" :depends-on (init general))
94
95
96
   (:module random
	    :depends-on (init)
	    :components
liam's avatar
liam committed
97
	    ((:file "rng-types")
98
99
	     (:file "generators" :depends-on (rng-types))
	     (:file "quasi" :depends-on (rng-types))
liam's avatar
liam committed
100
	     (:file "gaussian" :depends-on (rng-types))
101
102
	     (:file "gaussian-tail" :depends-on (rng-types))
	     (:file "gaussian-bivariate" :depends-on (rng-types))
liam's avatar
liam committed
103
	     (:file "exponential" :depends-on (rng-types))
104
105
106
107
108
109
	     (: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
110
111
112
113
114
115
116
117
118
	     (: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))
119
120
	     (:file "pareto" :depends-on (rng-types))
	     (:file "spherical-vector" :depends-on (rng-types))
121
122
123
	     (:file "weibull" :depends-on (rng-types))
	     (:file "gumbel1" :depends-on (rng-types))
	     (:file "gumbel2" :depends-on (rng-types))
124
	     (:file "dirichlet" :depends-on (rng-types))
125
126
127
128
	     (:file "discrete" :depends-on (rng-types))
	     (:file "poisson" :depends-on (rng-types))
	     (:file "bernoulli" :depends-on (rng-types))
	     (:file "binomial" :depends-on (rng-types))
129
	     (:file "multinomial" :depends-on (rng-types))
130
131
132
	     (:file "negative-binomial" :depends-on (rng-types))
	     (:file "geometric" :depends-on (rng-types))
	     (:file "hypergeometric" :depends-on (rng-types))
133
134
135
136
137
	     (:file "logarithmic" :depends-on (rng-types))
	     (:file "shuffling-sampling" :depends-on (rng-types))))
   (:module statistics
	    :depends-on (init data)
	    :components
138
139
140
141
142
143
	    ((: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
144
145
146
147
148
149
150
151
152
	     (:file "median-percentile")))
   (:module histogram
	    :depends-on (init)
	    :components
	    ((:file "histogram")
	     (:file "updating-accessing" :depends-on (histogram))
	     (:file "statistics" :depends-on (histogram))
	     (:file "operations" :depends-on (histogram))
	     (:file "read-write" :depends-on (histogram))
liam's avatar
liam committed
153
154
	     (:file "probability-distribution" :depends-on (histogram))
	     (:file "ntuple")))
155
   (:file "monte-carlo" :depends-on (init data random general))
156
157
158
159
160
161
162
   (:module ordinary-differential-equations
	    :depends-on (init)
	    :components
	    ((:file "ode-system")
	     (:file "stepping")
	     (:file "control")
	     (:file "evolution")
163
164
165
166
167
168
169
	     (:file "ode-example" :depends-on (ode-system stepping))))
   (:module interpolation
	    :depends-on (init)
	    :components
	    ((:file "interpolation")
	     (:file "types")
	     (:file "lookup")
liam's avatar
liam committed
170
	     (:file "evaluation")))
171
172
   (:file "numerical-differentiation" :depends-on (init general))
   (:file "chebyshev" :depends-on (init general))
173
   (:file "series-acceleration" :depends-on (init))
174
   (:file "wavelet" :depends-on (init data))
175
   (:file "hankel" :depends-on (init data))
176
   (:file "roots-one" :depends-on (init general))
liam's avatar
liam committed
177
178
   (:file "minimization-one" :depends-on (init general))
   (:file "roots-multi" :depends-on (init general))))