Skip to content

Commit 0f9765b

Browse files
committed
added impls of size and length for the wrapper distributions so they work for reconstruct
1 parent 2e88d08 commit 0f9765b

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/distribution_wrappers.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ end
1313

1414
NamedDist(dist::Distribution, name::Symbol) = NamedDist(dist, VarName{name}())
1515

16+
Base.length(dist::NamedDist) = Base.length(dist.dist)
17+
Base.size(dist::NamedDist) = Base.size(dist.dist)
18+
1619
Distributions.logpdf(dist::NamedDist, x::Real) = Distributions.logpdf(dist.dist, x)
1720
function Distributions.logpdf(dist::NamedDist, x::AbstractArray{<:Real})
1821
return Distributions.logpdf(dist.dist, x)
@@ -24,12 +27,17 @@ function Distributions.loglikelihood(dist::NamedDist, x::AbstractArray{<:Real})
2427
return Distributions.loglikelihood(dist.dist, x)
2528
end
2629

30+
Bijectors.bijector(d::NamedDist) = Bijectors.bijector(d.dist)
31+
2732
struct NoDist{variate,support,Td<:Distribution{variate,support}} <:
2833
Distribution{variate,support}
2934
dist::Td
3035
end
3136
NoDist(dist::NamedDist) = NamedDist(NoDist(dist.dist), dist.name)
3237

38+
Base.length(dist::NoDist) = Base.length(dist.dist)
39+
Base.size(dist::NoDist) = Base.size(dist.dist)
40+
3341
Distributions.rand(rng::Random.AbstractRNG, d::NoDist) = rand(rng, d.dist)
3442
Distributions.logpdf(d::NoDist{<:Univariate}, ::Real) = 0
3543
Distributions.logpdf(d::NoDist{<:Multivariate}, ::AbstractVector{<:Real}) = 0

0 commit comments

Comments
 (0)