Test some more Integer constant foldings
authorIan Lynagh <igloo@earth.li>
Sat, 24 Sep 2011 20:38:44 +0000 (21:38 +0100)
committerIan Lynagh <igloo@earth.li>
Sat, 24 Sep 2011 20:38:44 +0000 (21:38 +0100)
testsuite/tests/lib/integer/Makefile
testsuite/tests/lib/integer/integerConstantFolding.hs
testsuite/tests/lib/integer/integerConstantFolding.stdout

index ffb498f..0d28981 100644 (file)
@@ -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
 
index 8eb3f63..a5603bd 100644 (file)
@@ -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
+
index d3756c1..dba5013 100644 (file)
@@ -34,3 +34,7 @@ andInteger: 532
 orInteger: 239575
 xorInteger: 239041
 complementInteger: -200059
+quotRemInteger: (813,60)
+divModInteger: (219,196)
+shiftLInteger: 1600976
+shiftRInteger: 6253