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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
|
Name: vector
Version: 0.13.0.0
x-revision: 5
-- don't forget to update the changelog file!
License: BSD3
License-File: LICENSE
Author: Roman Leshchinskiy <rl@cse.unsw.edu.au>
Maintainer: Haskell Libraries Team <libraries@haskell.org>
Copyright: (c) Roman Leshchinskiy 2008-2012,
Alexey Kuleshevich 2020-2022,
Aleksey Khudyakov 2020-2022,
Andrew Lelechenko 2020-2022
Homepage: https://github.com/haskell/vector
Bug-Reports: https://github.com/haskell/vector/issues
Category: Data, Data Structures
Synopsis: Efficient Arrays
Description:
.
An efficient implementation of @Int@-indexed arrays (both mutable
and immutable), with a powerful loop optimisation framework .
.
It is structured as follows:
.
["Data.Vector"] Boxed vectors of arbitrary types.
.
["Data.Vector.Unboxed"] Unboxed vectors with an adaptive
representation based on data type families.
.
["Data.Vector.Storable"] Unboxed vectors of 'Storable' types.
.
["Data.Vector.Primitive"] Unboxed vectors of primitive types as
defined by the @primitive@ package. "Data.Vector.Unboxed" is more
flexible at no performance cost.
.
["Data.Vector.Generic"] Generic interface to the vector types.
.
There is also a (draft) tutorial on common uses of vector.
.
* <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
Tested-With:
GHC == 8.0.2,
GHC == 8.2.2,
GHC == 8.4.4,
GHC == 8.6.5,
GHC == 8.8.4,
GHC == 8.10.7,
GHC == 9.0.1,
GHC == 9.2.3
Cabal-Version: >= 1.10
Build-Type: Simple
Extra-Source-Files:
changelog.md
README.md
tests/LICENSE
tests/Setup.hs
tests/Main.hs
internal/GenUnboxTuple.hs
internal/unbox-tuple-instances
Flag BoundsChecks
Description: Enable bounds checking
Default: True
Manual: True
Flag UnsafeChecks
Description: Enable bounds checking in unsafe operations at the cost of a
significant performance penalty
Default: False
Manual: True
Flag InternalChecks
Description: Enable internal consistency checks at the cost of a
significant performance penalty
Default: False
Manual: True
Flag Wall
Description: Enable all -Wall warnings
Default: False
Manual: True
Library
Default-Language: Haskell2010
Other-Extensions:
BangPatterns
CPP
DeriveDataTypeable
ExistentialQuantification
FlexibleContexts
FlexibleInstances
GADTs
KindSignatures
MagicHash
MultiParamTypeClasses
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TypeFamilies
Exposed-Modules:
Data.Vector.Internal.Check
Data.Vector.Fusion.Util
Data.Vector.Fusion.Stream.Monadic
Data.Vector.Fusion.Bundle.Size
Data.Vector.Fusion.Bundle.Monadic
Data.Vector.Fusion.Bundle
Data.Vector.Generic.Mutable.Base
Data.Vector.Generic.Mutable
Data.Vector.Generic.Base
Data.Vector.Generic.New
Data.Vector.Generic
Data.Vector.Primitive.Mutable
Data.Vector.Primitive
Data.Vector.Storable.Internal
Data.Vector.Storable.Mutable
Data.Vector.Storable
Data.Vector.Unboxed.Base
Data.Vector.Unboxed.Mutable
Data.Vector.Unboxed
Data.Vector.Mutable
Data.Vector
Hs-Source-Dirs:
src
Include-Dirs:
include, internal
Install-Includes:
vector.h
Build-Depends: base >= 4.9 && < 4.20
, primitive >= 0.6.4.0 && < 0.9
, deepseq >= 1.1 && < 1.6
, vector-stream >= 0.1 && < 0.2
Ghc-Options: -O2 -Wall
if !flag(Wall)
Ghc-Options: -fno-warn-orphans
if impl(ghc >= 8.0) && impl(ghc < 8.1)
Ghc-Options: -Wno-redundant-constraints
if flag(BoundsChecks)
cpp-options: -DVECTOR_BOUNDS_CHECKS
if flag(UnsafeChecks)
cpp-options: -DVECTOR_UNSAFE_CHECKS
if flag(InternalChecks)
cpp-options: -DVECTOR_INTERNAL_CHECKS
source-repository head
type: git
location: https://github.com/haskell/vector.git
subdir: vector
test-suite vector-tests-O0
Default-Language: Haskell2010
type: exitcode-stdio-1.0
Main-Is: Main.hs
other-modules: Boilerplater
Tests.Bundle
Tests.Move
Tests.Vector
Tests.Vector.Property
Tests.Vector.Boxed
Tests.Vector.Storable
Tests.Vector.Primitive
Tests.Vector.Unboxed
Tests.Vector.UnitTests
Utilities
hs-source-dirs: tests
Build-Depends: base >= 4.5 && < 5, template-haskell, base-orphans >= 0.6, vector,
primitive, random,
QuickCheck >= 2.9 && < 2.15, HUnit, tasty,
tasty-hunit, tasty-quickcheck,
transformers >= 0.2.0.0
default-extensions: CPP,
ScopedTypeVariables,
PatternGuards,
MultiParamTypeClasses,
FlexibleContexts,
RankNTypes,
TypeSynonymInstances,
TypeFamilies,
TemplateHaskell
Ghc-Options: -O0 -threaded
Ghc-Options: -Wall
if !flag(Wall)
Ghc-Options: -fno-warn-orphans -fno-warn-missing-signatures
if impl(ghc >= 8.0) && impl(ghc < 8.1)
Ghc-Options: -Wno-redundant-constraints
test-suite vector-tests-O2
Default-Language: Haskell2010
type: exitcode-stdio-1.0
Main-Is: Main.hs
other-modules: Boilerplater
Tests.Bundle
Tests.Move
Tests.Vector
Tests.Vector.Property
Tests.Vector.Boxed
Tests.Vector.Storable
Tests.Vector.Primitive
Tests.Vector.Unboxed
Tests.Vector.UnitTests
Utilities
hs-source-dirs: tests
Build-Depends: base >= 4.5 && < 5, template-haskell, base-orphans >= 0.6, vector,
primitive, random,
QuickCheck >= 2.9 && < 2.15, HUnit, tasty,
tasty-hunit, tasty-quickcheck,
transformers >= 0.2.0.0
default-extensions: CPP,
ScopedTypeVariables,
PatternGuards,
MultiParamTypeClasses,
FlexibleContexts,
RankNTypes,
TypeSynonymInstances,
TypeFamilies,
TemplateHaskell
Ghc-Options: -Wall
Ghc-Options: -O2 -threaded
if !flag(Wall)
Ghc-Options: -fno-warn-orphans -fno-warn-missing-signatures
if impl(ghc >= 8.0) && impl(ghc < 8.1)
Ghc-Options: -Wno-redundant-constraints
test-suite vector-doctest
type: exitcode-stdio-1.0
main-is: doctests.hs
hs-source-dirs: tests
default-language: Haskell2010
-- Older GHC don't support DerivingVia
if impl(ghc < 8.6)
buildable: False
-- GHC 8.10 fails to run doctests for some reason
if impl(ghc >= 8.10) && impl(ghc < 8.11)
buildable: False
-- GHC 9.0 fails to run doctests for some reason too
if impl(ghc >= 9.0) && impl(ghc < 9.1)
buildable: False
-- And GHC 9.2 too
if impl(ghc >= 9.2) && impl(ghc < 9.2.3)
buildable: False
if impl(ghc >= 9.2.3) && impl(ghc < 9.3)
buildable: True
build-depends:
base -any
, doctest >=0.15 && <0.21
, primitive >= 0.6.4.0 && < 0.8
, vector -any
test-suite vector-inspection
type: exitcode-stdio-1.0
hs-source-dirs: tests-inspect
Ghc-Options: -Wall
main-is: main.hs
default-language: Haskell2010
Other-modules: Inspect
if impl(ghc >= 8.6)
Other-modules: Inspect.DerivingVia
Inspect.DerivingVia.OtherFoo
build-depends:
base -any
, primitive >= 0.6.4.0 && < 0.8
, vector -any
, tasty
, tasty-inspection-testing >= 0.1
benchmark algorithms
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: benchmarks
default-language: Haskell2010
build-depends:
base >= 2 && < 5
, random >= 1.2
, tasty
, tasty-bench >= 0.2.1
, vector
ghc-options: -O2
other-modules:
Algo.MutableSet
Algo.ListRank
Algo.Rootfix
Algo.Leaffix
Algo.AwShCC
Algo.HybCC
Algo.Quickhull
Algo.Spectral
Algo.Tridiag
Algo.FindIndexR
TestData.ParenTree
TestData.Graph
|