Skip to content

Commit f003009

Browse files
committed
fix powers
1 parent b174e26 commit f003009

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/besselj.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,22 +162,22 @@ function besselj(nu::Real, x::T) where T
162162
return Jnu
163163
else
164164
if isinteger(abs_nu)
165-
return (-1)^Int(abs_nu) * Jnu
165+
return Jnu * (iseven(abs_nu) ? 1 : -1)
166166
else
167167
return cispi(abs_nu)*Jnu
168168
end
169169
end
170170
else
171171
if x >= zero(T)
172-
isinteger(nu) && return (-1)^Int(abs_nu) * Jnu
172+
isinteger(nu) && return Jnu * (iseven(abs_nu) ? 1 : -1)
173173
Ynu = bessely_positive_args(abs_nu, abs_x)
174174
spi, cpi = sincospi(abs_nu)
175175
return cpi*Jnu - spi*Ynu
176176
else
177177
Ynu = bessely_positive_args(abs_nu, abs_x)
178178
spi, cpi = sincospi(abs_nu)
179179
out = cpi*Jnu - spi*Ynu
180-
isinteger(nu) && return (-1)^Int(abs_nu) * out
180+
isinteger(nu) && return out * (iseven(abs_nu) ? 1 : -1)
181181
return cispi(nu)*out
182182
end
183183
end

src/bessely.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ function bessely(nu::Real, x::T) where T
204204
end
205205
elseif nu < zero(T)
206206
if x > zero(T)
207-
isinteger(nu) && return (-1)^Int(abs_nu) * Ynu
207+
isinteger(nu) && return Ynu * (iseven(abs_nu) ? 1 : -1)
208208
Jnu = besselj_positive_args(abs_nu, abs_x)
209209
spi, cpi = sincospi(abs_nu)
210210
return cpi*Ynu + spi*Jnu

0 commit comments

Comments
 (0)