Skip to content

Commit 83f3110

Browse files
committed
Fix pdf for UvBinnedDist
Was failing at right edge of last bin.
1 parent 520768e commit 83f3110

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

src/uv_binned_dist.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Distributions.maximum(d::UvBinnedDist) = last(d._edge)
9797
function Distributions.pdf(d::UvBinnedDist{T,U}, x::Real) where {T,U}
9898
if insupport(d, x)
9999
i = _find_bin(d._edge, d._closed_left, x)
100-
convert(U, d._bin_pdf[i])
100+
i <= lastindex(d._bin_pdf) ? convert(U, d._bin_pdf[i]) : zero(U)
101101
else
102102
zero(U)
103103
end

test/test_uv_binned_dist.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ using Adapt, ForwardDiff
5454
@test isapprox(pdf.(Ref(d), r), pdf.(Ref(true_dist), r), rtol = 0.1)
5555
@test @inferred(pdf(d, 1000)) == 0
5656
@test @inferred(pdf(d, -1000)) == 0
57+
@test @inferred(pdf(d, first(h.edges[1]))) == 0
58+
@test @inferred(pdf(d, last(h.edges[1]))) == 0
5759

5860
@test @inferred(logpdf(d, r[1])) == log(pdf(d, r[1]))
5961
@test @inferred(logpdf(d, 1000)) == -Inf

0 commit comments

Comments
 (0)