Skip to content

Commit 672e511

Browse files
committed
Add WeightedPSQ.filterKey
1 parent 20068b0 commit 672e511

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

cabal-install-solver/src/Distribution/Solver/Modular/WeightedPSQ.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ module Distribution.Solver.Modular.WeightedPSQ (
99
, weights
1010
, isZeroOrOne
1111
, filter
12+
, filterKey
1213
, lookup
1314
, mapWithKey
1415
, mapWeightsWithKey
@@ -34,6 +35,10 @@ newtype WeightedPSQ w k v = WeightedPSQ [(w, k, v)]
3435
filter :: (v -> Bool) -> WeightedPSQ k w v -> WeightedPSQ k w v
3536
filter p (WeightedPSQ xs) = WeightedPSQ (L.filter (p . triple_3) xs)
3637

38+
-- | /O(N)/.
39+
filterKey :: (k -> Bool) -> WeightedPSQ w k v -> WeightedPSQ w k v
40+
filterKey p (WeightedPSQ xs) = WeightedPSQ (L.filter (p . triple_2) xs)
41+
3742
-- | /O(1)/. Return @True@ if the @WeightedPSQ@ contains zero or one elements.
3843
isZeroOrOne :: WeightedPSQ w k v -> Bool
3944
isZeroOrOne (WeightedPSQ []) = True

0 commit comments

Comments
 (0)