diff --git a/src/genz-malik.jl b/src/genz-malik.jl index f2ca0c5..83c14c6 100644 --- a/src/genz-malik.jl +++ b/src/genz-malik.jl @@ -114,9 +114,9 @@ error `E` (via the given `norm`), and the suggested coordinate `k` ∈ `1:n` to subdivide next. """ function (g::GenzMalik{n,T})(f, a::SVector{n}, b::SVector{n}, norm=vecnorm) where {n,T} - c = (a+b)*T(0.5) - Δ = (b-a)*T(0.5) - V = abs(prod(Δ)) + c = T(0.5).*(a.+b) + Δ = T(0.5).*abs.(b.-a) + V = prod(Δ) f₁ = f(c) @@ -138,6 +138,8 @@ function (g::GenzMalik{n,T})(f, a::SVector{n}, b::SVector{n}, norm=vecnorm) wher if divdiff > maxdivdiff kdivide = i maxdivdiff = divdiff + elseif divdiff == maxdivdiff && Δ[i] > Δ[kdivide] + kdivide = i end end