Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master
http://hackage.haskell.org/trac/ghc/changeset/37686d39646c1cfd910aac12f60e9578349c7a7d >--------------------------------------------------------------- commit 37686d39646c1cfd910aac12f60e9578349c7a7d Author: Ian Lynagh <[email protected]> Date: Sat Sep 24 21:38:44 2011 +0100 Test some more Integer constant foldings >--------------------------------------------------------------- tests/lib/integer/Makefile | 6 ++++++ tests/lib/integer/integerConstantFolding.hs | 16 ++++++++++++++++ tests/lib/integer/integerConstantFolding.stdout | 4 ++++ 3 files changed, 26 insertions(+), 0 deletions(-) diff --git a/tests/lib/integer/Makefile b/tests/lib/integer/Makefile index ffb498f..0d28981 100644 --- a/tests/lib/integer/Makefile +++ b/tests/lib/integer/Makefile @@ -22,5 +22,11 @@ integerConstantFolding: $(call CHECK,\<239575\>,orInteger) $(call CHECK,\<239041\>,xorInteger) $(call CHECK,-200059\>,complementInteger) + $(call CHECK,\<813\>,quotRemInteger) + $(call CHECK,\<60\>,quotRemInteger) + $(call CHECK,\<219\>,divModInteger) + $(call CHECK,\<196\>,divModInteger) + $(call CHECK,\<1600976\>,shiftLInteger) + $(call CHECK,\<6253\>,shiftRInteger) ./integerConstantFolding diff --git a/tests/lib/integer/integerConstantFolding.hs b/tests/lib/integer/integerConstantFolding.hs index 8eb3f63..a5603bd 100644 --- a/tests/lib/integer/integerConstantFolding.hs +++ b/tests/lib/integer/integerConstantFolding.hs @@ -40,6 +40,10 @@ main = do p "plusInteger" plusInteger p "orInteger" orInteger p "xorInteger" xorInteger p "complementInteger" complementInteger + p "quotRemInteger" quotRemInteger + p "divModInteger" divModInteger + p "shiftLInteger" shiftLInteger + p "shiftRInteger" shiftRInteger where p :: Show a => String -> a -> IO () p str x = putStrLn (str ++ ": " ++ show x) @@ -135,3 +139,15 @@ xorInteger = 100056 `xor` 140057 complementInteger :: Integer complementInteger = complement 200058 +quotRemInteger :: (Integer, Integer) +quotRemInteger = 100059 `quotRem` 123 + +divModInteger :: (Integer, Integer) +divModInteger = 100060 `divMod` 456 + +shiftLInteger :: Integer +shiftLInteger = 100061 `shiftL` 4 + +shiftRInteger :: Integer +shiftRInteger = 100062 `shiftR` 4 + diff --git a/tests/lib/integer/integerConstantFolding.stdout b/tests/lib/integer/integerConstantFolding.stdout index d3756c1..dba5013 100644 --- a/tests/lib/integer/integerConstantFolding.stdout +++ b/tests/lib/integer/integerConstantFolding.stdout @@ -34,3 +34,7 @@ andInteger: 532 orInteger: 239575 xorInteger: 239041 complementInteger: -200059 +quotRemInteger: (813,60) +divModInteger: (219,196) +shiftLInteger: 1600976 +shiftRInteger: 6253 _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
