# HG changeset patch # User wenzelm # Date 1510138425 -3600 # Node ID 2288cc39b038a0c64ea35ed03608a8626604522f # Parent 22a47374a20525439b07b1a8ed2a7781792c54c7 removed obsolete workaround: always use existing IntInf.pow; diff -r 22a47374a205 -r 2288cc39b038 src/Pure/General/integer.ML --- a/src/Pure/General/integer.ML Tue Nov 07 21:46:28 2017 +0100 +++ b/src/Pure/General/integer.ML Wed Nov 08 11:53:45 2017 +0100 @@ -40,20 +40,7 @@ fun square x = x * x; -fun pow k l = - let - fun pw 0 _ = 1 - | pw 1 l = l - | pw k l = - let - val (k', r) = div_mod k 2; - val l' = pw k' (l * l); - in if r = 0 then l' else l' * l end; - in - if k < 0 - then IntInf.pow (l, k) - else pw k l - end; +fun pow k l = IntInf.pow (l, k); fun gcd x y = PolyML.IntInf.gcd (x, y); fun lcm x y = abs (PolyML.IntInf.lcm (x, y)); @@ -65,10 +52,3 @@ | lcms (x :: xs) = abs (Library.foldl PolyML.IntInf.lcm (x, xs)); end; - -(* FIXME workaround for Poly/ML 5.7.1 testing *) -structure IntInf = -struct - open IntInf; - fun pow (i, n) = Integer.pow n i; -end