Skip to content

Commit 9e75ada

Browse files
committed
Implement tilde_assume!! for Sampleable / pointwise contexts
1 parent 6567e2e commit 9e75ada

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/pointwise_logdensities.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,16 @@ function _pointwise_tilde_observe(
146146
end
147147
end
148148

149+
function tilde_assume!!(context::PointwiseLogdensityContext, right::Sampleable, vn, vi)
150+
if _include_prior(context)
151+
# rand_like!! accumulates the logp of the vi, so we don't need to manually
152+
# track it.
153+
value, vi = DynamicPPL.rand_like!!(right, context, vi)
154+
return value, vi
155+
else
156+
return tilde_assume!!(context.context, right, vn, vi)
157+
end
158+
end
149159
function tilde_assume!!(context::PointwiseLogdensityContext, right, vn, vi)
150160
!_include_prior(context) && return (tilde_assume!!(context.context, right, vn, vi))
151161
value, logp, vi = tilde_assume(context.context, right, vn, vi)

0 commit comments

Comments
 (0)