[commit: containers] master: Inline Int{Map, Set}.{null, empty, singleton}. (c712fe4)

Paolo Capriotti <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.libraries
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.