Skip to content

Commit 9f87fc5

Browse files
authored
Merge pull request #318 from devmotion/patch-1
Generalize three-argument version of `beta_inc`
2 parents dd41481 + 4d82f9c commit 9f87fc5

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/beta_inc.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ function beta_inc(a::Float64, b::Float64, x::Float64, y::Float64)
876876
return ind ? (q, p) : (p, q)
877877
end
878878

879-
beta_inc(a::Float64, b::Float64, x::Float64) = beta_inc(a, b, x, 1.0 - x)
879+
beta_inc(a::Real, b::Real, x::Real) = beta_inc(a, b, x, 1 - x)
880880
function beta_inc(a::T, b::T, x::T, y::T) where {T<:Union{Float16, Float32}}
881881
T.(beta_inc(Float64(a), Float64(b), Float64(x), Float64(y)))
882882
end

test/beta_inc.jl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,22 @@
210210
@test beta_inc(1.5, 200.5, 0.07,0.93)[1] 0.99999790408564
211211
@test beta_inc(1e-20, 0.000001, 0.2)[2] 1.0000013862929421e-14
212212

213+
# test promotions and return types
214+
for T in (Float64, Float32)
215+
a, b = randexp(T, 2)
216+
x = rand(T)
217+
@test beta_inc(a, b, x) isa Tuple{T,T}
218+
@test beta_inc(a, b, x, 1 - x) isa Tuple{T,T}
219+
@test beta_inc(a, b, x) == beta_inc(a, b, x, 1 - x)
220+
end
221+
a = randexp()
222+
b = randexp(Float32)
223+
x = rand(Float32)
224+
@test beta_inc(a, b, x) isa Tuple{Float64,Float64}
225+
@test beta_inc(a, b, x) == beta_inc(a, Float64(b), Float64(x))
226+
@test beta_inc(a, b, x, 1 - x) isa Tuple{Float64,Float64}
227+
@test beta_inc(a, b, x, 1 - x) == beta_inc(a, Float64(b), Float64(x), 1 - x)
228+
213229
@test SpecialFunctions.loggammadiv(13.89, 21.0001) log(gamma(big(21.0001))/gamma(big(21.0001)+big(13.89)))
214230
@test SpecialFunctions.stirling_corr(11.99, 100.1) SpecialFunctions.stirling_error(11.99) + SpecialFunctions.stirling_error(100.1) - SpecialFunctions.stirling_error(11.99 + 100.1)
215231
end

0 commit comments

Comments
 (0)