indexation 0.6.4.1 → 0.8
raw patch · 2 files changed
+11/−5 lines, 2 filesdep ~dense-int-setPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: dense-int-set
API changes (from Hackage documentation)
- Indexation.Data: mergeIndexSets :: IndexSet entity -> IndexSet entity -> IndexSet entity
+ Indexation.Data: intersectIndexSets :: [IndexSet entity] -> IndexSet entity
+ Indexation.Data: invertIndexSet :: IndexSet entity -> IndexSet entity
+ Indexation.Data: uniteIndexSets :: [IndexSet entity] -> IndexSet entity
Files
- indexation.cabal +2/−2
- library/Indexation/Functions.hs +9/−3
indexation.cabal view
@@ -1,5 +1,5 @@ name: indexation-version: 0.6.4.1+version: 0.8 category: Data synopsis: Tools for entity indexation description: A set of tools for indexing entities@@ -43,7 +43,7 @@ contravariant >=1.4 && <2, deepseq >=1.4.3 && <2, deferred-folds >=0.9.6 && <0.10,- dense-int-set >=0.2 && <0.3,+ dense-int-set >=0.3 && <0.4, focus >=1.0.1 && <1.1, foldl >=1 && <2, hashable >=1 && <2,
library/Indexation/Functions.hs view
@@ -34,9 +34,15 @@ lookupNewIndex :: Index entity -> ReindexTable entity -> Maybe (Index entity) lookupNewIndex (Index oldIndexInt) (ReindexTable mapVector) = fmap Index (join (mapVector Vector.!? oldIndexInt)) -mergeIndexSets :: IndexSet entity -> IndexSet entity -> IndexSet entity-mergeIndexSets (IndexSet a) (IndexSet b) = IndexSet (DenseIntSet.intersection (DenseIntSet.compose a <> DenseIntSet.compose b))+intersectIndexSets :: [IndexSet entity] -> IndexSet entity+intersectIndexSets = IndexSet . DenseIntSet.intersections . coerce +uniteIndexSets :: [IndexSet entity] -> IndexSet entity+uniteIndexSets = IndexSet . DenseIntSet.unions . coerce++invertIndexSet :: IndexSet entity -> IndexSet entity+invertIndexSet (IndexSet x) = IndexSet (DenseIntSet.invert x)+ topCountedIndexSet :: Int -> IndexCounts a -> IndexSet a topCountedIndexSet amount (IndexCounts countVec) = IndexSet (DenseIntSet.topValueIndices compare amount countVec) @@ -44,7 +50,7 @@ indexSetByMinCount min (IndexCounts countVec) = IndexSet (DenseIntSet.filteredIndices (>= min) countVec) countIndexSet :: IndexSet a -> Int-countIndexSet (IndexSet set) = DenseIntSet.size set+countIndexSet (IndexSet set) = DenseIntSet.population set newIndexToOldIndexTable :: IndexSet a -> EntityTable (Index a) newIndexToOldIndexTable (IndexSet set) = EntityTable (DenseIntSet.presentElementsVector set Index)