diff options
author | Ian Lynagh <igloo@earth.li> | 2012-01-13 18:54:32 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2012-01-13 18:54:32 +0000 |
commit | 63afeeb4cf57ed8f91508cb70d34805f1b3bb30d (patch) | |
tree | 9e7702531a6bec7f360afd653bae1a9d61f6ad71 /testsuite/tests/lib | |
parent | cacd98255bf9961a2c2f62d8c9fa2bdda7cdc0de (diff) | |
download | haskell-63afeeb4cf57ed8f91508cb70d34805f1b3bb30d.tar.gz |
Add {double,float}FromInteger to the integerConstantFolding test
Diffstat (limited to 'testsuite/tests/lib')
-rw-r--r-- | testsuite/tests/lib/integer/Makefile | 2 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/integerConstantFolding.hs | 12 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/integerConstantFolding.stdout | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/testsuite/tests/lib/integer/Makefile b/testsuite/tests/lib/integer/Makefile index 612f3f09d4..297f9f0f11 100644 --- a/testsuite/tests/lib/integer/Makefile +++ b/testsuite/tests/lib/integer/Makefile @@ -30,5 +30,7 @@ integerConstantFolding: $(call CHECK,\<6253\>,shiftRInteger) $(call CHECK,\<641\>,quotInteger) $(call CHECK,\<68\>,remInteger) + $(call CHECK,\<200131.0\>,doubleFromInteger) + $(call CHECK,\<200135.0\>,floatFromInteger) ./integerConstantFolding diff --git a/testsuite/tests/lib/integer/integerConstantFolding.hs b/testsuite/tests/lib/integer/integerConstantFolding.hs index bea5149779..1fdd0998b4 100644 --- a/testsuite/tests/lib/integer/integerConstantFolding.hs +++ b/testsuite/tests/lib/integer/integerConstantFolding.hs @@ -46,6 +46,8 @@ main = do p "plusInteger" plusInteger p "shiftRInteger" shiftRInteger p "quotInteger" quotInteger p "remInteger" remInteger + p "doubleFromInteger" doubleFromInteger + p "floatFromInteger" floatFromInteger where p :: Show a => String -> a -> IO () p str x = putStrLn (str ++ ": " ++ show x) @@ -159,3 +161,13 @@ quotInteger = 100063 `quot` 156 remInteger :: Integer remInteger = 100064 `rem` 156 +-- For the conversion functions, we can't just check that e.g. 100065 +-- is in the resulting core, because it will be regardless of whether +-- the rules fire or not. So we add 100066, and thus rely on the +-- Double addition rule also firing. +doubleFromInteger :: Double +doubleFromInteger = fromInteger 100065 + 100066 + +floatFromInteger :: Float +floatFromInteger = fromInteger 100067 + 100068 + diff --git a/testsuite/tests/lib/integer/integerConstantFolding.stdout b/testsuite/tests/lib/integer/integerConstantFolding.stdout index 471eb755cf..7c32328941 100644 --- a/testsuite/tests/lib/integer/integerConstantFolding.stdout +++ b/testsuite/tests/lib/integer/integerConstantFolding.stdout @@ -40,3 +40,5 @@ shiftLInteger: 1600976 shiftRInteger: 6253 quotInteger: 641 remInteger: 68 +doubleFromInteger: 200131.0 +floatFromInteger: 200135.0 |