iota-0.1.0.0
Safe HaskellNone
LanguageGHC2021

Data.FenwickTree

Synopsis

Documentation

newtype FenwickTree s a Source #

Constructors

FenwickTree 

Fields

newFenwickTree :: (Unbox a, Monoid a, PrimMonad m) => Int -> m (FenwickTree (PrimState m) a) Source #

buildFenwickTree :: (Unbox a, Monoid a, PrimMonad m) => Vector a -> m (FenwickTree (PrimState m) a) Source #

O(n)

mappendTo :: (PrimMonad m, Unbox a, Monoid a) => FenwickTree (PrimState m) a -> Int -> m a Source #

mappend [0..k)

O(log n)

mappendAt :: (Unbox a, Semigroup a, PrimMonad m) => FenwickTree (PrimState m) a -> Int -> a -> m () Source #

O(log n)