Skip to content

Commit f1b950a

Browse files
committed
fix type-instability of logabsbeta
1 parent 5f0a078 commit f1b950a

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/gamma.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,8 @@ function logabsbeta(a::T, b::T) where T<:Real
808808
if a <= 0 && isinteger(a)
809809
if a + b <= 0 && isinteger(b)
810810
r = logbeta(1 - a - b, b)
811-
sgn = iseven(Int(b)) ? 1 : -1
811+
# in julia ≥ 1.7, iseven doesn't require Int (julia#38976)
812+
sgn = iseven(@static VERSION v"1.7" ? b : Int(b)) ? 1 : -1
812813
return r, sgn
813814
else
814815
return -log(zero(a)), 1
@@ -825,7 +826,7 @@ function logabsbeta(a::T, b::T) where T<:Real
825826
ya, sa = logabsgamma(a)
826827
yb, sb = logabsgamma(b)
827828
yab, sab = logabsgamma(a + b)
828-
(ya + yb - yab), (sa*sb*sab)
829+
(ya + yb - yab), Int(sa*sb*sab)
829830
end
830831
logabsbeta(a::Real, b::Real) = logabsbeta(promote(a, b)...)
831832

0 commit comments

Comments
 (0)