From 6ff8c23c29a6936f7e2f85663ccf5f1709dee181 Mon Sep 17 00:00:00 2001 From: "jeanphilippe.bernardy@gmail.com" Date: Sat, 11 Mar 2006 08:52:21 +0000 Subject: [PATCH] Added notMember to Data.IntSet and Data.IntMap --- Data/IntMap.hs | 5 +++++ Data/IntSet.hs | 5 +++++ Data/Map.hs | 2 +- Data/Set.hs | 3 +-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Data/IntMap.hs b/Data/IntMap.hs index 03a6ab0..decce64 100644 --- a/Data/IntMap.hs +++ b/Data/IntMap.hs @@ -45,6 +45,7 @@ module Data.IntMap ( , null , size , member + , notMember , lookup , findWithDefault @@ -263,6 +264,10 @@ member k m Nothing -> False Just x -> True +-- | /O(log n)/. Is the key not a member of the map? +notMember :: Key -> IntMap a -> Bool +notMember k m = not $ member k m + -- | /O(min(n,W))/. Lookup the value at a key in the map. lookup :: Key -> IntMap a -> Maybe a lookup k t diff --git a/Data/IntSet.hs b/Data/IntSet.hs index 720b937..9053098 100644 --- a/Data/IntSet.hs +++ b/Data/IntSet.hs @@ -46,6 +46,7 @@ module Data.IntSet ( , null , size , member + , notMember , isSubsetOf , isProperSubsetOf @@ -209,6 +210,10 @@ member x t Tip y -> (x==y) Nil -> False +-- | /O(log n)/. Is the element not in the set? +notMember :: Int -> IntSet -> Bool +notMember k = not $ member k + -- 'lookup' is used by 'intersection' for left-biasing lookup :: Int -> IntSet -> Maybe Int lookup k t diff --git a/Data/Map.hs b/Data/Map.hs index 7124cd3..92b21a1 100644 --- a/Data/Map.hs +++ b/Data/Map.hs @@ -275,7 +275,7 @@ member k m -- | /O(log n)/. Is the key not a member of the map? notMember :: Ord k => k -> Map k a -> Bool -notMember k m = not $ Data.Map.member k m +notMember k m = not $ member k m -- | /O(log n)/. Find the value at a key. -- Calls 'error' when the element can not be found. diff --git a/Data/Set.hs b/Data/Set.hs index 9eb30a4..36c7ecd 100644 --- a/Data/Set.hs +++ b/Data/Set.hs @@ -206,8 +206,7 @@ member x t -- | /O(log n)/. Is the element not in the set? notMember :: Ord a => a -> Set a -> Bool -notMember x t = not $ Data.Set.member x t - +notMember x t = not $ member x t {-------------------------------------------------------------------- Construction -- 1.7.10.4