From a39a9dd64e2302a54abeec50bbc8ce9a2e81ed98 Mon Sep 17 00:00:00 2001 From: Simon Byrne Date: Tue, 25 Nov 2014 21:16:11 +0000 Subject: [PATCH] make integer checks explicit --- base/complex.jl | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/base/complex.jl b/base/complex.jl index b108c5c34d634..270143182b711 100644 --- a/base/complex.jl +++ b/base/complex.jl @@ -477,21 +477,19 @@ function ^{T<:Complex}(z::T, p::T) # apply some corrections to force known zeros if pim == 0 - ip = trunc(pr) - if ip == pr + if isinteger(pr) if zi == 0 im = copysign(zero(im), im) elseif zr == 0 - if isodd(ip) - re = copysign(zero(re), re) - else + if isinteger(0.5*pr) # pr is even im = copysign(zero(im), im) + else + re = copysign(zero(re), re) end end else dr = pr*2 - ip = trunc(dr) - if ip == dr && zi == 0 + if isinteger(dr) && zi == 0 if zr < 0 re = copysign(zero(re), re) else