@@ -60,8 +60,8 @@ function ParamRdeSpecialDenomExp(a::P, b::F, gs::Vector{F}, D::Derivation) where
6060 t = gen (parent (a))
6161 degree (gcd (t, a))== 0 || error (" gcd(a, t) must be == 1" )
6262 p = t
63- nb = valuation (b, p)
64- nc = minimum ([valuation (g, p) for g in gs])
63+ nb = iszero (b) ? typemax (Int) : valuation (b, p)
64+ nc = minimum ([iszero (g) ? typemax (Int) : valuation (g, p) for g in gs])
6565 n = min (0 , nc - min (0 , nb))
6666 if nb== 0
6767 α = constant_coefficient (Remainder (- b// a, p))
@@ -109,8 +109,8 @@ function ParamRdeSpecialDenomTan(a::P, b::F, gs::Vector{F}, D::Derivation) where
109109 t = gen (parent (a))
110110 p = t^ 2 + 1
111111 degree (gcd (a, p))== 0 || error (" gcd(a, t^2+1) must be == 1" )
112- nb = valuation (b, p)
113- nc = minimum ([valuation (g, p) for g in gs])
112+ nb = iszero (b) ? typemax (Int) : valuation (b, p)
113+ nc = minimum ([iszero (g) ? typemax (Int) : valuation (g, p) for g in gs])
114114 n = min (0 , nc - min (0 , nb))
115115 if nb== 0
116116 αI_plus_β = Remainder (- b// a, p)
@@ -997,7 +997,7 @@ function LimitedIntegrateReduce(f::F, ws::Vector{F}, D::Derivation) where
997997 hs = lcm (vcat (ds, [es for (en, es) in eness]))
998998 h = hn* hs # in Bronsteins's book, wrongly a = hn*hs
999999 b = - D (hn)- divexact (hn* D (hs),hs)
1000- μ = min (valuation_infinity (f), minimum ([valuation_infinity (w) for w in ws]))
1000+ μ = min (iszero (f) ? typemax (Int) : valuation_infinity (f), minimum ([iszero (w) ? typemax (Int) : valuation_infinity (w) for w in ws]))
10011001 N = degree (hn) + degree (hs) + max (0 , 1 - degree (D) - μ)
10021002 end
10031003 hhn = h* hn
0 commit comments