summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2014-11-29 17:19:05 +0100
committerHerbert Valerio Riedel <hvr@gnu.org>2014-11-29 18:48:07 +0100
commitc0e0ca4d9d5ed47a5e9c88eeab9b538bc76a4eb5 (patch)
treee5772306287c635343c65bbd8e77d3ecee0110ef /testsuite/tests/lib
parent83c48438c800986c537d3cae682d53ee8ed326ed (diff)
downloadhaskell-c0e0ca4d9d5ed47a5e9c88eeab9b538bc76a4eb5.tar.gz
Reimplement `gcdExtInteger` (#9281)
`gcdExtInteger` has been available since `integer-gmp-0.5.1` (added via 71e29584603cff38e7b83d3eb28b248362569d61)
Diffstat (limited to 'testsuite/tests/lib')
-rw-r--r--testsuite/tests/lib/integer/integerGmpInternals.hs12
1 files changed, 1 insertions, 11 deletions
diff --git a/testsuite/tests/lib/integer/integerGmpInternals.hs b/testsuite/tests/lib/integer/integerGmpInternals.hs
index 2f49a755a1..628f8e00fc 100644
--- a/testsuite/tests/lib/integer/integerGmpInternals.hs
+++ b/testsuite/tests/lib/integer/integerGmpInternals.hs
@@ -22,17 +22,7 @@ recipModInteger = I.recipModInteger
-- FIXME: Lacks GMP2 version
gcdExtInteger :: Integer -> Integer -> (Integer, Integer)
-gcdExtInteger a b = (d, u) -- stolen from `arithmoi` package
- where
- (d, x, y) = eGCD 0 1 1 0 (abs a) (abs b)
- u | a < 0 = negate x
- | otherwise = x
- v | b < 0 = negate y
- | otherwise = y
- eGCD !n1 o1 !n2 o2 r s
- | s == 0 = (r, o1, o2)
- | otherwise = case r `quotRem` s of
- (q, t) -> eGCD (o1 - q*n1) n1 (o2 - q*n2) n2 s t
+gcdExtInteger a b = case I.gcdExtInteger a b of (# g, s #) -> (g, s)
-- FIXME: Lacks GMP2 version
powModSecInteger :: Integer -> Integer -> Integer -> Integer