sparse-vector-0.3.0: Sparse vector data structures
Copyright(c) Matt Hunzinger 2025
LicenseBSD-style (see the LICENSE file in the distribution)
Maintainermatt@hunzinger.me
Stabilityprovisional
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.SparseVector.Unboxed.Mutable

Description

 

Documentation

newtype MSparseVector s a Source #

Constructors

MSparseVector 

Fields

empty :: (PrimMonad m, Unbox a) => m (MSparseVector (PrimState m) a) Source #

insert :: (PrimMonad m, Unbox a) => Int -> a -> MSparseVector (PrimState m) a -> m () Source #

read :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> Int -> m (Maybe a) Source #

unsafeRead :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> Int -> m a Source #

write :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> Int -> Maybe a -> a -> m () Source #

unsafeWrite :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> Int -> a -> m () Source #

modify :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> Int -> (Maybe a -> Maybe a) -> a -> m () Source #

unsafeModify :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> Int -> (a -> a) -> m () Source #

toList :: (PrimMonad m, Unbox a) => MSparseVector (PrimState m) a -> m [Maybe a] Source #