Name: vector
Version: 0.7.1
License: BSD3
License-File: LICENSE
Author: Roman Leshchinskiy
Maintainer: Roman Leshchinskiy
Copyright: (c) Roman Leshchinskiy 2008-2011
Homepage: http://code.haskell.org/vector
Bug-Reports: http://trac.haskell.org/vector
Category: Data, Data Structures
Synopsis: Efficient Arrays
Description:
.
An efficient implementation of Int-indexed arrays (both mutable
and immutable), with a powerful loop fusion optimization 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.
.
*
.
Please use the project trac to submit bug reports and feature
requests.
.
*
.
Changes in version 0.7.1
.
* New functions for copying potentially overlapping arrays: @move@,
@unsafeMove@ (contributed by Louis Wasserman)
.
* New function: @splitAt@ (contributed by Bas van Dijk)
.
* New monadic operations: @generateM@, @sequence@, @foldfM_@ and
variants
.
* Specialisations of various monadic operations for primitive monads
.
* Efficiency improvements (with contributions by Bas van Dijk)
.
Changes in version 0.7.0.1
.
* Dependency on package ghc removed
.
Changes in version 0.7
.
* New functions for freezing, copying and thawing vectors: @freeze@,
@thaw@, @unsafeThaw@ and @clone@
.
* @newWith@ and @newUnsafeWith@ on mutable vectors replaced by
@replicate@
.
* New function: @concat@
.
* New function for safe indexing: @(!?)@
.
* @Monoid@ instances for all vector types
.
* Significant recycling and fusion improvements
.
* Bug fixes
.
* Support for GHC 7.0
.
Cabal-Version: >= 1.2.3
Build-Type: Simple
Extra-Source-Files:
tests/vector-tests.cabal
tests/LICENSE
tests/Setup.hs
tests/Main.hs
tests/Boilerplater.hs
tests/Utilities.hs
tests/Tests/Stream.hs
tests/Tests/Vector.hs
benchmarks/vector-benchmarks.cabal
benchmarks/LICENSE
benchmarks/Setup.hs
benchmarks/Main.hs
benchmarks/Algo/AwShCC.hs
benchmarks/Algo/HybCC.hs
benchmarks/Algo/Leaffix.hs
benchmarks/Algo/ListRank.hs
benchmarks/Algo/Quickhull.hs
benchmarks/Algo/Rootfix.hs
benchmarks/Algo/Spectral.hs
benchmarks/Algo/Tridiag.hs
benchmarks/TestData/Graph.hs
benchmarks/TestData/ParenTree.hs
benchmarks/TestData/Random.hs
internal/GenUnboxTuple.hs
internal/unbox-tuple-instances
Changelog
Flag BoundsChecks
Description: Enable bounds checking
Default: True
Flag UnsafeChecks
Description: Enable bounds checking in unsafe operations at the cost of a
significant performance penalty
Default: False
Flag InternalChecks
Description: Enable internal consistency checks at the cost of a
significant performance penalty
Default: False
Library
Extensions: CPP, DeriveDataTypeable
Exposed-Modules:
Data.Vector.Internal.Check
Data.Vector.Fusion.Util
Data.Vector.Fusion.Stream.Size
Data.Vector.Fusion.Stream.Monadic
Data.Vector.Fusion.Stream
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
Include-Dirs:
include, internal
Install-Includes:
vector.h
Build-Depends: base >= 4 && < 5, primitive >= 0.3.1 && < 0.4
if impl(ghc<6.13)
Ghc-Options: -finline-if-enough-args -fno-method-sharing
Ghc-Options: -O2
if flag(BoundsChecks)
cpp-options: -DVECTOR_BOUNDS_CHECKS
if flag(UnsafeChecks)
cpp-options: -DVECTOR_UNSAFE_CHECKS
if flag(InternalChecks)
cpp-options: -DVECTOR_INTERNAL_CHECKS