-
Notifications
You must be signed in to change notification settings - Fork 2
/
mod.cabal
96 lines (89 loc) · 2.38 KB
/
mod.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
name: mod
version: 0.2.0.1
cabal-version: >=1.10
build-type: Simple
license: MIT
license-file: LICENSE
copyright: 2017-2022 Andrew Lelechenko
maintainer: Andrew Lelechenko <andrew.lelechenko@gmail.com>
homepage: https://github.com/Bodigrim/mod
bug-reports: https://github.com/Bodigrim/mod/issues
synopsis: Fast type-safe modular arithmetic
description:
<https://en.wikipedia.org/wiki/Modular_arithmetic Modular arithmetic>,
promoting moduli to the type level, with an emphasis on performance.
Originally part of the <https://hackage.haskell.org/package/arithmoi arithmoi> package.
category: Math, Number Theory
author: Andrew Lelechenko <andrew.lelechenko@gmail.com>
tested-with: GHC ==9.0.2 GHC ==9.2.8 GHC ==9.4.8 GHC ==9.6.5 GHC ==9.8.2 GHC ==9.10.1
extra-source-files:
changelog.md
README.md
cbits/aarch64.h
source-repository head
type: git
location: https://github.com/Bodigrim/mod
flag semirings
description: Derive semiring instances
default: True
flag vector
description: Derive unboxed and primitive vector instances
default: True
library
build-depends:
base >=4.15 && <5,
deepseq,
ghc-bignum
if flag(semirings)
build-depends:
semirings >= 0.5
if flag(vector)
build-depends:
primitive,
vector >= 0.12
exposed-modules:
Data.Mod
Data.Mod.Word
other-modules:
Data.Mod.Compat
default-language: Haskell2010
ghc-options: -Wall -O2 -Wno-deprecations -Wcompat
if(arch(aarch64))
c-sources: cbits/aarch64.c
include-dirs: cbits
test-suite mod-tests
build-depends:
base >=4.10 && <5,
mod,
quickcheck-classes-base,
tasty >=0.10,
tasty-quickcheck >=0.9 && <0.11
if flag(semirings)
build-depends:
containers,
quickcheck-classes >=0.6.3,
semirings >= 0.5
if flag(vector)
build-depends:
primitive,
quickcheck-classes >=0.6.3,
vector >= 0.12
type: exitcode-stdio-1.0
main-is: Test.hs
default-language: Haskell2010
hs-source-dirs: test
ghc-options: -Wall -threaded -rtsopts -Wcompat
benchmark mod-bench
build-depends:
base,
mod,
-- finite-field >= 0.9,
-- finite-typelits,
-- modular,
-- modular-arithmetic >= 2,
tasty-bench >= 0.2.5
type: exitcode-stdio-1.0
main-is: Bench.hs
default-language: Haskell2010
hs-source-dirs: bench
ghc-options: -Wall -O2 -Wcompat