-
Notifications
You must be signed in to change notification settings - Fork 6
/
hypergeometrica.asd
87 lines (82 loc) · 3.02 KB
/
hypergeometrica.asd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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
77
78
79
80
81
82
83
84
85
86
87
;;;; hypergeometrica.asd
;;;;
;;;; Copyright (c) 2019-2024 Robert Smith
(asdf:defsystem #:hypergeometrica
:description "Calculate lots of digits of things."
:author "Robert Smith <[email protected]>"
:license "BSD 3-clause (See LICENSE.txt)"
:depends-on (#:alexandria
#:global-vars
#:lparallel
#:napa-fft3
#:trivial-garbage
#:uiop
#:cffi
#:mmap
(:feature :sbcl #:sb-mpfr)
(:feature :sbcl #:sb-posix))
:in-order-to ((asdf:test-op (asdf:test-op #:hypergeometrica/tests)))
:around-compile (lambda (compile)
(let (#+sbcl (sb-ext:*derive-function-types* t))
(funcall compile)))
:pathname "src/"
:serial t
:components ((:file "package")
(:file "config")
(:file "logging")
(:file "mmap")
(:file "timing-utilities")
(:file "math-utilities")
(:file "sbcl-intrinsics" :if-feature :sbcl)
(:file "sbcl-intrinsics-x86-64" :if-feature (:and :sbcl :x86-64))
(:file "sbcl-intrinsics-ppc64el" :if-feature (:and :sbcl :ppc64 :little-endian))
(:file "digit")
(:file "modular-arithmetic")
(:file "vec")
(:file "ram-vec")
(:file "disk-vec")
(:file "mpz-protocol")
(:file "mpz-ram")
(:file "moduli")
(:file "strandh-elster-reversal")
(:file "number-theoretic-transform")
(:file "ntt-multiply")
;; (:file "fft-multiply")
;; (:file "disk")
(:file "multiply")
(:file "mpd")
(:file "mpd-reciprocal")
(:file "mpd-sqrt")
(:file "divrem")
(:file "mpz-string")
(:file "binary-splitting")
(:file "pi")))
(asdf:defsystem #:hypergeometrica/tests
:description "Tests and debug routines for HYPERGEOMETRICA."
:author "Robert Smith <[email protected]>"
:license "BSD 3-clause (See LICENSE.txt)"
:defsystem-depends-on (#:uiop)
:depends-on (#:hypergeometrica
#:fiasco
(:feature :sbcl #:sb-mpfr))
:perform (asdf:test-op (o s)
(uiop:symbol-call '#:hypergeometrica-tests
'#:test-hypergeometrica))
:pathname "tests/"
:serial t
:components ((:file "package")
(:module "debug"
:serial t
:components ((:file "debug-routines")))
(:file "suite")
(:file "arithmetic")
(:file "moduli")
(:file "vec")
(:file "mpz")
(:file "multiplication")
(:file "ntt")
(:file "primes")
(:file "sundries")
(:file "divrem")
(:file "write-number")
(:file "pi")))