Skip to content

Commit e4034de

Browse files
committed
Do not return nothing
1 parent 2da3e03 commit e4034de

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

src/compiler.jl

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ function generate_tilde(left, right, model_info)
278278
ctx = model_info[:main_body_names][:ctx]
279279
sampler = model_info[:main_body_names][:sampler]
280280

281-
@gensym tmpright
281+
@gensym tmpright tmpleft
282282
top = [:($tmpright = $right),
283283
:($tmpright isa Union{$Distribution,AbstractVector{<:$Distribution}}
284284
|| throw(ArgumentError($DISTMSG)))]
@@ -290,8 +290,8 @@ function generate_tilde(left, right, model_info)
290290
assumption = [
291291
:($out = $(DynamicPPL.tilde_assume)($ctx, $sampler, $tmpright, $vn, $inds,
292292
$vi)),
293-
:($left = $out[1]),
294-
:($(DynamicPPL.acclogp!)($vi, $out[2]))
293+
:($(DynamicPPL.acclogp!)($vi, $out[2])),
294+
:($left = $out[1])
295295
]
296296

297297
# It can only be an observation if the LHS is an argument of the model
@@ -303,11 +303,13 @@ function generate_tilde(left, right, model_info)
303303
if $isassumption
304304
$(assumption...)
305305
else
306+
$tmpleft = $left
306307
$(DynamicPPL.acclogp!)(
307308
$vi,
308-
$(DynamicPPL.tilde_observe)($ctx, $sampler, $tmpright, $left, $vn,
309+
$(DynamicPPL.tilde_observe)($ctx, $sampler, $tmpright, $tmpleft, $vn,
309310
$inds, $vi)
310311
)
312+
$tmpleft
311313
end
312314
end
313315
end
@@ -321,10 +323,12 @@ function generate_tilde(left, right, model_info)
321323
# If the LHS is a literal, it is always an observation
322324
return quote
323325
$(top...)
326+
$tmpleft = $left
324327
$(DynamicPPL.acclogp!)(
325328
$vi,
326-
$(DynamicPPL.tilde_observe)($ctx, $sampler, $tmpright, $left, $vi)
329+
$(DynamicPPL.tilde_observe)($ctx, $sampler, $tmpright, $tmpleft, $vi)
327330
)
331+
$tmpleft
328332
end
329333
end
330334

@@ -341,7 +345,7 @@ function generate_dot_tilde(left, right, model_info)
341345
ctx = model_info[:main_body_names][:ctx]
342346
sampler = model_info[:main_body_names][:sampler]
343347

344-
@gensym tmpright
348+
@gensym tmpright tmpleft
345349
top = [:($tmpright = $right),
346350
:($tmpright isa Union{$Distribution,AbstractVector{<:$Distribution}}
347351
|| throw(ArgumentError($DISTMSG)))]
@@ -353,8 +357,8 @@ function generate_dot_tilde(left, right, model_info)
353357
assumption = [
354358
:($out = $(DynamicPPL.dot_tilde_assume)($ctx, $sampler, $tmpright, $left,
355359
$vn, $inds, $vi)),
356-
:($left .= $out[1]),
357-
:($(DynamicPPL.acclogp!)($vi, $out[2]))
360+
:($(DynamicPPL.acclogp!)($vi, $out[2])),
361+
:($left .= $out[1])
358362
]
359363

360364
# It can only be an observation if the LHS is an argument of the model
@@ -366,11 +370,13 @@ function generate_dot_tilde(left, right, model_info)
366370
if $isassumption
367371
$(assumption...)
368372
else
373+
$tmpleft = $left
369374
$(DynamicPPL.acclogp!)(
370375
$vi,
371-
$(DynamicPPL.dot_tilde_observe)($ctx, $sampler, $tmpright, $left,
376+
$(DynamicPPL.dot_tilde_observe)($ctx, $sampler, $tmpright, $tmpleft,
372377
$vn, $inds, $vi)
373378
)
379+
$tmpleft
374380
end
375381
end
376382
end
@@ -384,10 +390,12 @@ function generate_dot_tilde(left, right, model_info)
384390
# If the LHS is a literal, it is always an observation
385391
return quote
386392
$(top...)
393+
$tmpleft = $left
387394
$(DynamicPPL.acclogp!)(
388395
$vi,
389-
$(DynamicPPL.dot_tilde_observe)($ctx, $sampler, $tmpright, $left, $vi)
396+
$(DynamicPPL.dot_tilde_observe)($ctx, $sampler, $tmpright, $tmpleft, $vi)
390397
)
398+
$tmpleft
391399
end
392400
end
393401

@@ -444,7 +452,6 @@ function build_output(model_info)
444452
)
445453
$unwrap_data_expr
446454
$main_body
447-
return
448455
end
449456

450457
$generator($(args...)) = $(DynamicPPL.Model)($evaluator, $args_nt, $model_gen_constructor)

0 commit comments

Comments
 (0)