diff options
author | Herbert Valerio Riedel <hvr@gnu.org> | 2014-11-29 17:19:05 +0100 |
---|---|---|
committer | Herbert Valerio Riedel <hvr@gnu.org> | 2014-11-29 18:48:07 +0100 |
commit | c0e0ca4d9d5ed47a5e9c88eeab9b538bc76a4eb5 (patch) | |
tree | e5772306287c635343c65bbd8e77d3ecee0110ef /testsuite/tests/lib/integer | |
parent | 83c48438c800986c537d3cae682d53ee8ed326ed (diff) | |
download | haskell-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/integer')
-rw-r--r-- | testsuite/tests/lib/integer/integerGmpInternals.hs | 12 |
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 |