mutable-fenwick-0.1.0.0: mutable-fenwick.cabal
cabal-version: 2.4
name: mutable-fenwick
version: 0.1.0.0
synopsis: Mutable Fenwick trees
description:
This package provides an implementation of mutable
[Fenwick trees](https://en.wikipedia.org/wiki/Fenwick_tree).
.
It is maximally generic. Each operation of Fenwick tree is implemented using a subset of constraints
from @Semigroup@, @Monoid@, or @Commutative@, chosen based on the nature of each
operation.
.
It is fast and efficient. With @ArrayC@ and @VectorC@ from this package, it is possible to use
unboxed arrays and vectors for newtypes that implement a custom algebra (e.g. @Sum@, @Product@ or
@Xor@). An implementation using this library can be as fast as a C/C++ implementation.
homepage: https://github.com/ParsaAlizadeh/fenwick-tree
bug-reports: https://github.com/ParsaAlizadeh/fenwick-tree/issues
license: MIT
license-file: LICENSE
author: Parsa Alizadeh
maintainer: parsa.alizadeh1@gmail.com
copyright: (c) Parsa Alizade, 2025
category: Data
extra-source-files:
README.md
CHANGELOG.md
tested-with: GHC == 9.2.8 || == 9.4.8
source-repository head
type: git
location: https://github.com/ParsaAlizadeh/fenwick-tree.git
library
hs-source-dirs: src
default-language: Haskell2010
exposed-modules:
Data.Array.ArrayC,
Data.Vector.VectorC,
Data.Fenwick.Array,
Data.Fenwick.Vector
-- Modules included in this library but not exported.
-- other-modules:
build-depends:
base >= 4.17.2 && < 4.18,
array >= 0.5.4 && < 0.6,
commutative-semigroups >= 0.2.0 && < 0.3,
monoid-subclasses >= 1.2.6 && < 1.3,
vector >= 0.13.1 && < 0.14,
test-suite test-fenwick
type: exitcode-stdio-1.0
hs-source-dirs: tests
default-language: Haskell2010
build-depends:
base,
hspec,
mutable-fenwick,
array,
vector,
main-is: FenwickTest.hs