Module documentation for 0.10.1.1
PrimitiveArray provides operations on multi-dimensional arrays. Internally, the representation is based on the vector library, while the multi-dimensional indexing follows repa.
Primitive arrays are designed to be used together with ADPfusion.
- version bump on DPutils
- introduction of @Data.PrimitiveArray.Sparse@ which uses different sparsification options. The default is @D.P.S.Search@ based on binary search.
- All array operations, pure or mutable are now based on a single, unified class. Mostly because mutable operations go via a data family anyway.
- Rewrote Data.PrimitiveArray.Dense to accept all vector types using one interface. This is a breaking change, since @Unboxed@ becomes @Dense Data.Vector.Unboxed.Vector@, but now @Dense v@ accepts any @v@ as underlying storage vector. Breaking occurs only at user sites where the actual vector type needs to be specified. This tends to be very localized.
- OrderedBits version bump
- Arbitrary instance(s), field lenses that are probably not a good idea (don’t use them!)
- large-scale changes
- associated data families for bounds
- inclusion of Upperlimit data family to simplify declaration of upper limits
- PointL delays inlining to phase 0 for table filling. This is part of the close-to-C optimization effort for linear languages.
- disabling smallcheck until I fix how things are generated
- renamed Interface (Iter) to Boundary (Boundary)
- Typeable instances for Dense primitive arrays
- EdgeBoundary index structure
- changes and fixes to quickcheck/smallcheck
- added ScoreMatrix module with simple score and distance matrix structure (requires log-domain)
- JSONKey (To/From) for index types.
- minor updates to dependencies
- tasty framework
- Subword/upper triangular indexing provided by DPutils
- Data.PrimitiveArray.Checked to capture index out-of-bounds problems
- vector <= 0.11 support; including compatibility layer
- redesigned Index structures (for dealing with Inside/Outside/Complement)
- Hashable instances for all index structures
- Hashable instances for Unboxed and Boxed arrays. These require Hashable instances for vectors, which are not available by default
- OrderedBits < 0.0.1
- travis.yml update
- moved primitive array classes to Data.PrimitiveArray.Class
- added from / to lenses
- Field1 .. Field6 lenses for indices (Z:.a:.b…) (with Z being Field0)
- lens stuff currently commented out; aiming to have an extra package [lens is fairly heavy]
- FillTables should work now (with PointL, Subword)
- freezing of whole stacks of (Z:.mutarr:.mutarr:. …) tables
- explicit ‘Shape Subword’; this allows for simpler code in a number of places and is especially useful for CYK-style algorithms that have a single-dimensional upper-triangular matrix.
- rangeStream of Extshape is new and used by the FillTables module
- Binary, Cereal, Aeson instances for indices and immutable tables
- orphan instances of Binary, Cereal, Aeson for Z, and (:.)
- topmostIndex returns the final index position for CYK-style (bottom to top) parsing
- removed Data.Array.Repa.Index.Point (we have PointL, PointR in Points.hs)
- added Data.Array.Repa.Index.Set (for sets with an interface, used by Hamiltonian path problems)
- Data.Array.Repa.Index.Outside is now just a newtype wrapped around other Index types. We want to be able to say “a Subword, but for Outside algorithms”
- travis-ci integration
actually implemented PointR
added the rather important strictness annotation for mutable arrays in .Zero
- fixed vector-th-unbox problem