diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-02-11 09:18:09 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-06-17 16:22:04 -0400 |
commit | f817d816e60a487bca64037095c01e9956225b64 (patch) | |
tree | 7e2779c7e2485539001b3649bea62554b6d924f7 /testsuite/tests/lib | |
parent | aa9e7b7196f03f84579e3b4a09068c668cbe6ffb (diff) | |
download | haskell-f817d816e60a487bca64037095c01e9956225b64.tar.gz |
Update testsuite
* support detection of slow ghc-bignum backend (to replace the detection
of integer-simple use). There are still some test cases that the
native backend doesn't handle efficiently enough.
* remove tests for GMP only functions that have been removed from
ghc-bignum
* fix test results showing dependent packages (e.g. integer-gmp) or
showing suggested instances
* fix test using Integer/Natural API or showing internal names
Diffstat (limited to 'testsuite/tests/lib')
-rw-r--r-- | testsuite/tests/lib/integer/all.T | 9 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/fromToInteger.hs | 6 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/gcdInteger.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/integerGmpInternals.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/integerImportExport.hs | 16 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/integerImportExport.stdout | 4 |
6 files changed, 22 insertions, 21 deletions
diff --git a/testsuite/tests/lib/integer/all.T b/testsuite/tests/lib/integer/all.T index 33c5ea172d..3364bea241 100644 --- a/testsuite/tests/lib/integer/all.T +++ b/testsuite/tests/lib/integer/all.T @@ -7,8 +7,9 @@ test('IntegerConversionRules', [], makefile_test, ['IntegerConversionRules']) test('gcdInteger', normal, compile_and_run, ['']) # skip ghci as it doesn't support unboxed tuples -test('integerImportExport', [reqlib('integer-gmp'), omit_ways(['ghci'])], compile_and_run, ['']) -test('integerGcdExt', [reqlib('integer-gmp'), omit_ways(['ghci'])], compile_and_run, ['']) +test('integerImportExport', [omit_ways(['ghci'])], compile_and_run, ['']) -test('integerPowMod', [reqlib('integer-gmp')], compile_and_run, ['']) -test('integerGmpInternals', [reqlib('integer-gmp')], compile_and_run, ['']) +# Disable GMP only tests +#test('integerGcdExt', [omit_ways(['ghci'])], compile_and_run, ['']) +#test('integerPowMod', [], compile_and_run, ['']) +#test('integerGmpInternals', [], compile_and_run, ['']) diff --git a/testsuite/tests/lib/integer/fromToInteger.hs b/testsuite/tests/lib/integer/fromToInteger.hs index c36153864c..0b8cb08eec 100644 --- a/testsuite/tests/lib/integer/fromToInteger.hs +++ b/testsuite/tests/lib/integer/fromToInteger.hs @@ -4,11 +4,11 @@ module Q where import GHC.Exts -import GHC.Integer +import GHC.Num.Integer v :: Int -v = I# (integerToInt (smallInteger 3#)) +v = I# (integerToInt# (IS 3#)) w :: Word -w = W# (integerToWord (wordToInteger 3##)) +w = W# (integerToWord# (integerFromWord# 3##)) diff --git a/testsuite/tests/lib/integer/gcdInteger.hs b/testsuite/tests/lib/integer/gcdInteger.hs index 2e945a876a..e25855c149 100644 --- a/testsuite/tests/lib/integer/gcdInteger.hs +++ b/testsuite/tests/lib/integer/gcdInteger.hs @@ -4,12 +4,12 @@ module Main (main) where import GHC.Base -import GHC.Integer +import GHC.Num.Integer main :: IO () main = case i of I# i# -> - print (gcd (smallInteger i#) (smallInteger i#)) + print (gcd (IS i#) (IS i#)) {-# NOINLINE i #-} i :: Int diff --git a/testsuite/tests/lib/integer/integerGmpInternals.hs b/testsuite/tests/lib/integer/integerGmpInternals.hs index 4d53560107..53a776e13d 100644 --- a/testsuite/tests/lib/integer/integerGmpInternals.hs +++ b/testsuite/tests/lib/integer/integerGmpInternals.hs @@ -9,8 +9,8 @@ import Control.Monad import GHC.Word import GHC.Base -import GHC.Integer.GMP.Internals (Integer(S#,Jp#,Jn#)) -import qualified GHC.Integer.GMP.Internals as I +import GHC.Num.Integer +import qualified GHC.Num.Integer as I recipModInteger :: Integer -> Integer -> Integer recipModInteger = I.recipModInteger diff --git a/testsuite/tests/lib/integer/integerImportExport.hs b/testsuite/tests/lib/integer/integerImportExport.hs index 276167b6b6..bef208afd0 100644 --- a/testsuite/tests/lib/integer/integerImportExport.hs +++ b/testsuite/tests/lib/integer/integerImportExport.hs @@ -10,20 +10,20 @@ import Unsafe.Coerce (unsafeCoerce#) import GHC.Word import GHC.Base -import GHC.Integer.GMP.Internals (Integer(S#,Jp#,Jn#)) -import qualified GHC.Integer.GMP.Internals as I +import GHC.Num.Integer +import qualified GHC.Num.Integer as I exportInteger :: Integer -> MutableByteArray# RealWorld -> Word# -> Int# -> IO Word -exportInteger = I.exportIntegerToMutableByteArray +exportInteger = I.integerToMutableByteArray exportIntegerAddr :: Integer -> Addr# -> Int# -> IO Word -exportIntegerAddr = I.exportIntegerToAddr +exportIntegerAddr = I.integerToAddr importInteger :: ByteArray# -> Word# -> Word# -> Int# -> Integer -importInteger = I.importIntegerFromByteArray +importInteger ba off sz = I.integerFromByteArray sz ba off importIntegerAddr :: Addr# -> Word# -> Int# -> IO Integer -importIntegerAddr a l e = I.importIntegerFromAddr a l e +importIntegerAddr a l = I.integerFromAddr l a -- helpers data MBA = MBA { unMBA :: !(MutableByteArray# RealWorld) } @@ -57,8 +57,8 @@ freezeByteArray arr = IO $ \s -> case unsafeFreezeByteArray# arr s of (# s, arr main :: IO () main = do -- import/export primitives - print $ [ W# (I.sizeInBaseInteger x 2#) | x <- [b1024,b*e,b,e,m,x,y,-1,0,1] ] - print $ [ W# (I.sizeInBaseInteger x 256#) | x <- [b1024,b*e,b,e,m,x,y,-1,0,1] ] + print $ [ W# (I.integerSizeInBase# 2## x) | x <- [b1024,b*e,b,e,m,x,y,-1,0,1] ] + print $ [ W# (I.integerSizeInBase# 256## x) | x <- [b1024,b*e,b,e,m,x,y,-1,0,1] ] BA ba <- do MBA mba <- newByteArray 128## diff --git a/testsuite/tests/lib/integer/integerImportExport.stdout b/testsuite/tests/lib/integer/integerImportExport.stdout index 950d72c90b..19f24d12e0 100644 --- a/testsuite/tests/lib/integer/integerImportExport.stdout +++ b/testsuite/tests/lib/integer/integerImportExport.stdout @@ -1,5 +1,5 @@ -[1024,462,231,231,133,123,125,1,1,1] -[128,58,29,29,17,16,16,1,1,1] +[1024,462,231,231,133,123,125,1,0,1] +[128,58,29,29,17,16,16,1,0,1] 0 0 23 |