module Indexation.Potoki.Produce
(
entities,
counts,
indexedCounts,
indices,
)
where
import Indexation.Prelude
import Indexation.Types
import qualified Potoki.Produce as Produce
import qualified Data.Vector.Generic as GenericVector
import qualified DenseIntSet
entities :: EntityTable a -> Produce a
entities (EntityTable vector) = Produce.vector vector
counts :: IndexCounts a -> Produce Word32
counts (IndexCounts vector) = Produce.vector vector
indexedCounts :: IndexCounts a -> Produce (Int, Word32)
indexedCounts (IndexCounts vector) = Produce.vectorWithIndices vector
indices :: IndexSet a -> Produce (Index a)
indices (IndexSet set) = coerce (Produce.unfoldr (DenseIntSet.presentElementsUnfoldr set))