Repository : ssh://darcs.haskell.org//srv/darcs/packages/containers On branch : master
http://hackage.haskell.org/trac/ghc/changeset/c712fe4d92c3bfae59323eb74ba2259cb3e45a77 >--------------------------------------------------------------- commit c712fe4d92c3bfae59323eb74ba2259cb3e45a77 Author: Milan Straka <[email protected]> Date: Fri Apr 20 18:32:18 2012 +0200 Inline Int{Map,Set}.{null, empty, singleton}. These are probably inlined anyway, but we explicitly INLINE them in Map and Set, so we do also in IntMap and IntSet for consistency. >--------------------------------------------------------------- Data/IntMap/Base.hs | 3 +++ Data/IntMap/Strict.hs | 1 + Data/IntSet.hs | 3 +++ 3 files changed, 7 insertions(+), 0 deletions(-) diff --git a/Data/IntMap/Base.hs b/Data/IntMap/Base.hs index 850d62f..a77d7de 100644 --- a/Data/IntMap/Base.hs +++ b/Data/IntMap/Base.hs @@ -345,6 +345,7 @@ instance Data a => Data (IntMap a) where null :: IntMap a -> Bool null Nil = True null _ = False +{-# INLINE null #-} -- | /O(n)/. Number of elements in the map. -- @@ -437,6 +438,7 @@ findWithDefault def k = k `seq` go empty :: IntMap a empty = Nil +{-# INLINE empty #-} -- | /O(1)/. A map of one element. -- @@ -446,6 +448,7 @@ empty singleton :: Key -> a -> IntMap a singleton k x = Tip k x +{-# INLINE singleton #-} {-------------------------------------------------------------------- Insert diff --git a/Data/IntMap/Strict.hs b/Data/IntMap/Strict.hs index 8c0c912..1ff087f 100644 --- a/Data/IntMap/Strict.hs +++ b/Data/IntMap/Strict.hs @@ -299,6 +299,7 @@ findWithDefault def k = def `seq` k `seq` go singleton :: Key -> a -> IntMap a singleton k x = x `seq` Tip k x +{-# INLINE singleton #-} {-------------------------------------------------------------------- Insert diff --git a/Data/IntSet.hs b/Data/IntSet.hs index e449628..054cc11 100644 --- a/Data/IntSet.hs +++ b/Data/IntSet.hs @@ -293,6 +293,7 @@ instance Data IntSet where null :: IntSet -> Bool null Nil = True null _ = False +{-# INLINE null #-} -- | /O(n)/. Cardinality of the set. size :: IntSet -> Int @@ -326,11 +327,13 @@ notMember k = not . member k empty :: IntSet empty = Nil +{-# INLINE empty #-} -- | /O(1)/. A set of one element. singleton :: Int -> IntSet singleton x = Tip (prefixOf x) (bitmapOf x) +{-# INLINE singleton #-} {-------------------------------------------------------------------- Insert _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
