-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalculi.cabal
142 lines (118 loc) · 4.69 KB
/
calculi.cabal
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
cabal-version: 3.0
name: calculi
version: 0.1.0.0
synopsis: Fast parallel calculations in pure mathematics, e.g. Gröbner Bases
description:
A library for calculations in pure mathematics, with an emphasis on parallelism, exact (not
@Float@ or @Double@) calculations, correctness, and efficiency.
For basic definitions, start with the "Math.Algebra.General.Algebra" module.
homepage: https://github.com/DaveBarton/calculi
bug-reports: https://github.com/DaveBarton/calculi/issues
license: BSD-3-Clause
license-file: LICENSE
author: Dave Barton
maintainer: Dave Barton
copyright: Copyright (c) David R. Barton, 2022-2024
category: Math, Algebra
extra-doc-files: CHANGELOG.md dirs.txt timings/timings.txt
tested-with: ghc == 9.4.8 || == 9.6.1 || == 9.8.1 || == 9.10.1
source-repository head
type: git
location: https://github.com/DaveBarton/calculi
common deps
default-language: GHC2021
default-extensions: DerivingStrategies DuplicateRecordFields LambdaCase MonoLocalBinds
NegativeLiterals NoFieldSelectors OverloadedRecordDot OverloadedStrings
PatternSynonyms RecordWildCards
other-extensions: CPP DataKinds FunctionalDependencies Strict ViewPatterns
ghc-options: -Wall -Wcompat -feager-blackholing -threaded
if impl(ghc >= 9.8.1)
ghc-options: -Wno-x-partial
build-depends:
base >= 4.17 && < 5.0,
containers >= 0.6 && < 0.8,
contiguous >= 0.6.1.1 && < 0.7,
extra >= 1.6 && < 1.8,
fmt >= 0.4 && < 0.7,
ghc-trace-events < 0.2,
megaparsec < 9.7,
mod >= 0.1.2 && < 0.3,
parser-combinators < 1.4,
-- safe < 0.4,
strict >= 0.4 && < 0.6,
text < 2.2
library
import: deps
exposed-modules:
Control.Parallel.Cooperative
Math.Algebra.General.Algebra
Math.Algebra.Category.Category
Math.Algebra.Commutative.Field.ZModPW
Math.Algebra.Linear.SparseVector
Math.Algebra.Linear.SparseColumnsMatrix
Math.Algebra.General.SparseSum
Math.Algebra.Commutative.UPoly
Math.Algebra.Commutative.GroebnerBasis
Math.Algebra.Commutative.EPoly
-- Math.Algebra.Commutative.VMPoly
Math.Algebra.Commutative.BinPoly
Math.Algebra.Commutative.GBDemo
Math.Prob.Random
StrictList2
build-depends:
async < 2.3,
-- hashable, unordered-containers,
-- inspection-testing >= 0.3 && < 0.6,
-- poly >= 0.5.1, deepseq, finite-typelits, vector-sized,
primitive >= 0.8 && < 0.10,
random >= 1.2.1 && < 1.3,
rrb-vector >= 0.2.1 && < 0.3,
samsort < 0.2,
stm >= 2.4 && < 2.6,
strict-list < 0.2,
time >= 1.9.3 && < 2,
timestats < 0.3,
vector < 0.14
hs-source-dirs: src
-- executable calculi
-- hs-source-dirs: app
executable bp-demo
import: deps
main-is: BPDemo.hs
build-depends: calculi
hs-source-dirs: bp-demo
ghc-options: -rtsopts "-with-rtsopts=-N -A64m -t"
test-suite calculi-test
import: deps
main-is: calculi-test.hs
type: exitcode-stdio-1.0
other-modules:
Math.Algebra.General.TestAlgebra
Math.Algebra.Commutative.Field.TestZModPW
Math.Algebra.Linear.TestSparseVector
Math.Algebra.General.TestSparseSum
Math.Algebra.Commutative.TestUPoly
Math.Algebra.Commutative.TestGroebnerBasis
Math.Algebra.Commutative.TestEPoly
Math.Algebra.Commutative.TestBinPoly
build-depends: calculi, hedgehog == 1.*, rrb-vector, strict-list, tasty < 1.6,
tasty-hedgehog < 1.5
hs-source-dirs: test
ghc-options: -rtsopts "-with-rtsopts=-N -A64m"
benchmark time-gb
import: deps
main-is: time-gb.hs
type: exitcode-stdio-1.0
-- Modules included in this executable, other than Main.
-- other-modules:
build-depends: calculi, process >= 1.2 && < 2, time >= 1.9.3 && < 2
hs-source-dirs: timings
ghc-options: -rtsopts "-with-rtsopts=-N -A64m -s"
benchmark bench
import: deps
main-is: bench.hs
type: exitcode-stdio-1.0
build-depends: calculi, deepseq < 2, random >= 1.2 && < 1.3, tasty, tasty-bench < 0.5
-- , poly, vector, vector-sized
hs-source-dirs: timings
ghc-options: -rtsopts -with-rtsopts=-T