Mark GHC.Real.even and odd as INLINEABLE
authorBen Gamari <bgamari.foss@gmail.com>
Mon, 14 Mar 2016 12:27:23 +0000 (13:27 +0100)
committerBen Gamari <ben@smart-cactus.org>
Sun, 20 Mar 2016 15:05:43 +0000 (16:05 +0100)
Previously they were merely specialised at Int and Integer. It seems to
me that these are cheap enough to be worth inlining. See #11701 for
motivation.

Test Plan: Validate

Reviewers: austin, hvr, simonpj

Reviewed By: simonpj

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1997

GHC Trac Issues: #11701

libraries/base/GHC/Real.hs

index 186be27..3a97f1f 100644 (file)
@@ -463,10 +463,8 @@ showSigned showPos p x
 even, odd       :: (Integral a) => a -> Bool
 even n          =  n `rem` 2 == 0
 odd             =  not . even
-{-# SPECIALISE even :: Int -> Bool #-}
-{-# SPECIALISE odd  :: Int -> Bool #-}
-{-# SPECIALISE even :: Integer -> Bool #-}
-{-# SPECIALISE odd  :: Integer -> Bool #-}
+{-# INLINEABLE even #-}
+{-# INLINEABLE odd  #-}
 
 -------------------------------------------------------
 -- | raise a number to a non-negative integral power