@@ -13,14 +13,15 @@ function TuringUniform(a::Real, b::Real)
1313 return TuringUniform {T} (T (a), T (b))
1414end
1515Distributions. logpdf (d:: TuringUniform , x:: Real ) = uniformlogpdf (d. a, d. b, x)
16+ Distributions. logpdf (d:: TuringUniform , x:: AbstractArray ) = uniformlogpdf .(d. a, d. b, x)
1617Base. minimum (d:: TuringUniform ) = d. a
1718Base. maximum (d:: TuringUniform ) = d. b
1819
1920Distributions. Uniform (a:: TrackedReal , b:: Real ) = TuringUniform {TrackedReal} (a, b)
2021Distributions. Uniform (a:: Real , b:: TrackedReal ) = TuringUniform {TrackedReal} (a, b)
2122Distributions. Uniform (a:: TrackedReal , b:: TrackedReal ) = TuringUniform {TrackedReal} (a, b)
2223Distributions. logpdf (d:: Uniform , x:: TrackedReal ) = uniformlogpdf (d. a, d. b, x)
23-
24+ Distributions . logpdf (d :: Uniform , x :: TrackedArray ) = uniformlogpdf .(d . a, d . b, x)
2425function uniformlogpdf (a, b, x)
2526 c = - log (b - a)
2627 if a <= x <= b
5354 return l, Δ -> (da * Δ, - da * Δ, zero (T) * Δ)
5455 else
5556 n = T (NaN )
56- return l , Δ -> (n, n, n)
57+ return n , Δ -> (n, n, n)
5758 end
5859end
5960@adjoint function Distributions. Uniform (args... )
0 commit comments