-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathmath-functions.cabal
More file actions
181 lines (164 loc) · 5.33 KB
/
math-functions.cabal
File metadata and controls
181 lines (164 loc) · 5.33 KB
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
cabal-version: 3.0
build-type: Simple
name: math-functions
version: 0.3.4.4
license: BSD-2-Clause
license-file: LICENSE
author: Bryan O'Sullivan <bos@serpentine.com>,
Alexey Khudyakov <alexey.skladnoy@gmail.com>
maintainer: Alexey Khudyakov <alexey.skladnoy@gmail.com>
homepage: https://github.com/haskell/math-functions
bug-reports: https://github.com/haskell/math-functions/issues
category: Math, Numeric
synopsis: Collection of tools for numeric computations
description:
This library contain collection of various utilities for numerical
computing. So far there're special mathematical functions,
compensated summation algorithm, summation of series, root finding
for real functions, polynomial summation and Chebyshev
polynomials.
tested-with:
GHC ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.5
|| ==8.8.4
|| ==8.10.7
|| ==9.0.2
|| ==9.2.7
|| ==9.4.5
|| ==9.6.2
extra-source-files:
changelog.md
README.markdown
tests/Tests/SpecFunctions/gen.py
tests/tables/generate.py
tests/tables/shell.nix
tests/tables/*.dat
tests/tables/inputs/*.dat
doc/sinc.hs
source-repository head
type: git
location: https://github.com/haskell/math-functions
flag system-expm1
description: Use expm1 provided by GHC. On GHCJS we don't have one so we
have to use hand-coded one.
default: True
manual: True
flag system-erf
description: Use erf and erfc provided by system. On GHCJS
version provided by library is used regardless of
flag for that lack of libc.
default: True
manual: True
flag BenchPAPI
Description: Enable building of benchmarks which use instruction counters.
It requires libpapi and only works on Linux so it's protected by flag
Default: False
Manual: True
library
default-language: Haskell2010
other-extensions:
BangPatterns
CPP
DeriveDataTypeable
FlexibleContexts
MultiParamTypeClasses
ScopedTypeVariables
TypeFamilies
DeriveGeneric
ghc-options: -Wall -O2
build-depends: base >= 4.9 && < 5
, deepseq
, data-default-class >= 0.1.2.0
, vector >= 0.11
, primitive
if flag(system-expm1) && !impl(ghcjs)
cpp-options: -DUSE_SYSTEM_EXPM1
if flag(system-erf) && !impl(ghcjs)
cpp-options: -DUSE_SYSTEM_ERF
exposed-modules:
Numeric.MathFunctions.Constants
Numeric.MathFunctions.Comparison
Numeric.Polynomial
Numeric.Polynomial.Chebyshev
Numeric.RootFinding
Numeric.SpecFunctions
Numeric.SpecFunctions.Extra
Numeric.SpecFunctions.Internal
Numeric.Series
Numeric.Sum
other-modules:
Numeric.SpecFunctions.Compat
test-suite math-function-tests
default-language: Haskell2010
other-extensions: ViewPatterns
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded
if arch(i386)
-- The Sum tests require SSE2 on i686 to pass (because of excess precision)
ghc-options: -msse2
hs-source-dirs: tests
main-is: tests.hs
other-modules:
Tests.Helpers
Tests.Chebyshev
Tests.Comparison
Tests.RootFinding
Tests.SpecFunctions
Tests.SpecFunctions.Tables
Tests.Sum
if flag(system-erf) && !impl(ghcjs)
cpp-options: -DUSE_SYSTEM_ERF
build-depends: base >=4.5 && <5
, math-functions
, data-default-class >= 0.1.2.0
, deepseq
, primitive
, vector >= 0.7
, vector-th-unbox
, erf
, QuickCheck >= 2.7
, tasty >= 1.2
, tasty-hunit >= 0.10
, tasty-quickcheck >= 0.10
-- We want to be able to build benchmarks using both tasty-bench and tasty-papi.
-- They have similar API so we just create two shim modules which reexport
-- definitions from corresponding library and pick one in cabal file.
common bench-stanza
ghc-options: -Wall -O2
default-language: Haskell2010
other-extensions:
BangPatterns
CPP
DeriveDataTypeable
FlexibleContexts
MultiParamTypeClasses
ScopedTypeVariables
TemplateHaskell
TypeFamilies
DeriveGeneric
build-depends: base >= 4.5 && < 5
, math-functions
, data-default-class
, vector
, random
, tasty
benchmark math-functions-bench
import: bench-stanza
type: exitcode-stdio-1.0
if impl(ghcjs)
buildable: False
Main-is: main.hs
Other-modules: Bench
hs-source-dirs: bench bench-time
build-depends: tasty-bench >=0.3.4
benchmark math-functions-papi
import: bench-stanza
type: exitcode-stdio-1.0
if impl(ghcjs) || !flag(BenchPAPI) || impl(ghc < 8.2)
buildable: False
Main-is: main.hs
Other-modules: Bench
hs-source-dirs: bench bench-papi
build-depends: tasty-papi >=0.1.2