Changelog
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.6
3 License:        BSD3
4 License-File:   LICENSE
5 Author:         Roman Leshchinskiy <rl@cse.unsw.edu.au>
6 Maintainer:     Roman Leshchinskiy <rl@cse.unsw.edu.au>
7 Copyright:      (c) Roman Leshchinskiy 2008-2010
8 Homepage:       http://code.haskell.org/vector
9 Category:       Data, Data Structures
10 Synopsis:       Efficient Arrays
11 Description:
12         .
13         An efficient implementation of Int-indexed arrays (both mutable
14         and immutable), with a powerful loop fusion optimization framework .
15         .
16         It is structured as follows:
17         .
18         [@Data.Vector@] Boxed vectors of arbitrary types.
19         .
20         [@Data.Vector.Unboxed@] Unboxed vectors with an adaptive
21         representation based on data type families.
22         .
23         [@Data.Vector.Storable@] Unboxed vectors of 'Storable' types.
24         .
25         [@Data.Vector.Primitive@] Unboxed vectors of primitive types as
26         defined by the @primitive@ package. @Data.Vector.Unboxed@ is more
27         flexible at no performance cost.
28         .
29         [@Data.Vector.Generic@] Generic interface to the vector types.
30         .
31         There is also a (draft) tutorial on common uses of vector.
32         .
33         * <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
34         .
35         Please use the project trac to submit bug reports and feature
36         requests.
37         .
38         * <http://trac.haskell.org/vector>
39         .
40         Changes since version 0.5
41         .
42         * More efficient representation of @Storable@ vectors
43         .
44         * Block copy operations used when possible
45         .
46         * @Typeable@ and @Data@ instances
47         .
48         * Monadic combinators (@replicateM@, @mapM@ etc.)
49         .
50         * Better support for recycling (see @create@ and @modify@)
51         .
52         * Performance improvements
53         .
54         * Refactored implementation of recycling
55         .
56
57 Cabal-Version:  >= 1.2.3
58 Build-Type:     Simple
59
60 Extra-Source-Files:
61       tests/vector-tests.cabal
62       tests/LICENSE
63       tests/Setup.hs
64       tests/Main.hs
65       tests/Boilerplater.hs
66       tests/Utilities.hs
67       tests/Tests/Stream.hs
68       tests/Tests/Vector.hs
69       benchmarks/vector-benchmarks.cabal
70       benchmarks/LICENSE
71       benchmarks/Setup.hs
72       benchmarks/Main.hs
73       benchmarks/Algo/AwShCC.hs
74       benchmarks/Algo/HybCC.hs
75       benchmarks/Algo/Leaffix.hs
76       benchmarks/Algo/ListRank.hs
77       benchmarks/Algo/Quickhull.hs
78       benchmarks/Algo/Rootfix.hs
79       benchmarks/Algo/Spectral.hs
80       benchmarks/Algo/Tridiag.hs
81       benchmarks/TestData/Graph.hs
82       benchmarks/TestData/ParenTree.hs
83       benchmarks/TestData/Random.hs
84       internal/GenUnboxTuple.hs
85       internal/unbox-tuple-instances
86
87 Flag BoundsChecks
88   Description: Enable bounds checking
89   Default: True
90
91 Flag UnsafeChecks
92   Description: Enable bounds checking in unsafe operations at the cost of a
93                significant performance penalty
94   Default: False
95
96 Flag InternalChecks
97   Description: Enable internal consistency checks at the cost of a
98                significant performance penalty
99   Default: False
100
101
102 Library
103   Extensions: CPP, DeriveDataTypeable
104   Exposed-Modules:
105         Data.Vector.Internal.Check
106
107         Data.Vector.Fusion.Util
108         Data.Vector.Fusion.Stream.Size
109         Data.Vector.Fusion.Stream.Monadic
110         Data.Vector.Fusion.Stream
111
112         Data.Vector.Generic.Mutable
113         Data.Vector.Generic.Base
114         Data.Vector.Generic.New
115         Data.Vector.Generic
116
117         Data.Vector.Primitive.Mutable
118         Data.Vector.Primitive
119
120         Data.Vector.Storable.Internal
121         Data.Vector.Storable.Mutable
122         Data.Vector.Storable
123
124         Data.Vector.Unboxed.Base
125         Data.Vector.Unboxed.Mutable
126         Data.Vector.Unboxed
127
128         Data.Vector.Mutable
129         Data.Vector
130
131   Include-Dirs:
132         include, internal
133
134   Install-Includes:
135         vector.h
136
137   Build-Depends: base >= 4 && < 5, ghc >= 6.9, primitive >= 0.3 && < 0.4
138
139   if impl(ghc<6.13)
140     Ghc-Options: -finline-if-enough-args -fno-method-sharing
141   
142   Ghc-Options: -O2
143
144   if flag(BoundsChecks)
145     cpp-options: -DVECTOR_BOUNDS_CHECKS
146
147   if flag(UnsafeChecks)
148     cpp-options: -DVECTOR_UNSAFE_CHECKS
149
150   if flag(InternalChecks)
151     cpp-options: -DVECTOR_INTERNAL_CHECKS
152