@@ -45,10 +45,10 @@ macro isassumption(model, expr::Union{Symbol, Expr})
45
45
46
46
# This branch should compile nicely in all cases except for partial missing data
47
47
# For example, when `expr` is `x[i]` and `x isa Vector{Union{Missing, Float64}}`
48
- if ! DynamicPPL. inargnames ($ vn, $ model) || DynamicPPL. inmissings ($ vn, $ model)
48
+ if ! $ DynamicPPL. inargnames ($ vn, $ model) || $ DynamicPPL. inmissings ($ vn, $ model)
49
49
true
50
50
else
51
- if DynamicPPL. inargnames ($ vn, $ model)
51
+ if $ DynamicPPL. inargnames ($ vn, $ model)
52
52
# Evaluate the lhs
53
53
$ expr === missing
54
54
else
@@ -128,7 +128,7 @@ function build_model_info(input_expr)
128
128
Expr (:tuple , QuoteNode .(arg_syms)... ),
129
129
Expr (:curly , :Tuple , [:(Core. Typeof ($ x)) for x in arg_syms]. .. )
130
130
)
131
- args_nt = Expr (:call , :(DynamicPPL. namedtuple), nt_type, Expr (:tuple , arg_syms... ))
131
+ args_nt = Expr (:call , :($ DynamicPPL. namedtuple), nt_type, Expr (:tuple , arg_syms... ))
132
132
end
133
133
args = map (modeldef[:args ]) do arg
134
134
if (arg isa Symbol)
@@ -300,23 +300,23 @@ function generate_tilde(left, right, model_info)
300
300
vn = gensym (:vn )
301
301
inds = gensym (:inds )
302
302
isassumption = gensym (:isassumption )
303
- assert_ex = :(DynamicPPL. assert_dist ($ temp_right, msg = $ (wrong_dist_errormsg (@__LINE__ ))))
304
-
303
+ assert_ex = :($ DynamicPPL. assert_dist ($ temp_right, msg = $ (wrong_dist_errormsg (@__LINE__ ))))
304
+
305
305
if left isa Symbol || left isa Expr
306
306
ex = quote
307
307
$ temp_right = $ right
308
308
$ assert_ex
309
-
309
+
310
310
$ vn, $ inds = $ (varname (left)), $ (vinds (left))
311
- $ isassumption = DynamicPPL. @isassumption ($ model, $ left)
312
- if $ isassumption
313
- $ out = DynamicPPL. tilde_assume ($ ctx, $ sampler, $ temp_right, $ vn, $ inds, $ vi)
311
+ $ isassumption = $ DynamicPPL. @isassumption ($ model, $ left)
312
+ if $ isassumption
313
+ $ out = $ DynamicPPL. tilde_assume ($ ctx, $ sampler, $ temp_right, $ vn, $ inds, $ vi)
314
314
$ left = $ out[1 ]
315
- DynamicPPL. acclogp! ($ vi, $ out[2 ])
315
+ $ DynamicPPL. acclogp! ($ vi, $ out[2 ])
316
316
else
317
- DynamicPPL. acclogp! (
317
+ $ DynamicPPL. acclogp! (
318
318
$ vi,
319
- DynamicPPL. tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vn, $ inds, $ vi),
319
+ $ DynamicPPL. tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vn, $ inds, $ vi),
320
320
)
321
321
end
322
322
end
@@ -325,10 +325,10 @@ function generate_tilde(left, right, model_info)
325
325
ex = quote
326
326
$ temp_right = $ right
327
327
$ assert_ex
328
-
329
- DynamicPPL. acclogp! (
328
+
329
+ $ DynamicPPL. acclogp! (
330
330
$ vi,
331
- DynamicPPL. tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vi),
331
+ $ DynamicPPL. tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vi),
332
332
)
333
333
end
334
334
end
@@ -353,24 +353,24 @@ function generate_dot_tilde(left, right, model_info)
353
353
lp = gensym (:lp )
354
354
vn = gensym (:vn )
355
355
inds = gensym (:inds )
356
- assert_ex = :(DynamicPPL. assert_dist ($ temp_right, msg = $ (wrong_dist_errormsg (@__LINE__ ))))
357
-
356
+ assert_ex = :($ DynamicPPL. assert_dist ($ temp_right, msg = $ (wrong_dist_errormsg (@__LINE__ ))))
357
+
358
358
if left isa Symbol || left isa Expr
359
359
ex = quote
360
360
$ temp_right = $ right
361
361
$ assert_ex
362
362
363
363
$ vn, $ inds = $ (varname (left)), $ (vinds (left))
364
- $ isassumption = DynamicPPL. @isassumption ($ model, $ left)
365
-
364
+ $ isassumption = $ DynamicPPL. @isassumption ($ model, $ left)
365
+
366
366
if $ isassumption
367
- $ out = DynamicPPL. dot_tilde_assume ($ ctx, $ sampler, $ temp_right, $ left, $ vn, $ inds, $ vi)
367
+ $ out = $ DynamicPPL. dot_tilde_assume ($ ctx, $ sampler, $ temp_right, $ left, $ vn, $ inds, $ vi)
368
368
$ left .= $ out[1 ]
369
- DynamicPPL. acclogp! ($ vi, $ out[2 ])
369
+ $ DynamicPPL. acclogp! ($ vi, $ out[2 ])
370
370
else
371
- DynamicPPL. acclogp! (
371
+ $ DynamicPPL. acclogp! (
372
372
$ vi,
373
- DynamicPPL. dot_tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vn, $ inds, $ vi),
373
+ $ DynamicPPL. dot_tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vn, $ inds, $ vi),
374
374
)
375
375
end
376
376
end
@@ -379,10 +379,10 @@ function generate_dot_tilde(left, right, model_info)
379
379
ex = quote
380
380
$ temp_right = $ right
381
381
$ assert_ex
382
-
383
- DynamicPPL. acclogp! (
382
+
383
+ $ DynamicPPL. acclogp! (
384
384
$ vi,
385
- DynamicPPL. dot_tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vi),
385
+ $ DynamicPPL. dot_tilde_observe ($ ctx, $ sampler, $ temp_right, $ left, $ vi),
386
386
)
387
387
end
388
388
end
@@ -431,10 +431,10 @@ function build_output(model_info)
431
431
local $ var
432
432
$ temp_var = $ model. args.$ var
433
433
$ varT = typeof ($ temp_var)
434
- if $ temp_var isa DynamicPPL. FloatOrArrayType
435
- $ var = DynamicPPL. get_matching_type ($ sampler, $ vi, $ temp_var)
436
- elseif DynamicPPL. hasmissing ($ varT)
437
- $ var = DynamicPPL. get_matching_type ($ sampler, $ vi, $ varT)($ temp_var)
434
+ if $ temp_var isa $ DynamicPPL. FloatOrArrayType
435
+ $ var = $ DynamicPPL. get_matching_type ($ sampler, $ vi, $ temp_var)
436
+ elseif $ DynamicPPL. hasmissing ($ varT)
437
+ $ var = $ DynamicPPL. get_matching_type ($ sampler, $ vi, $ varT)($ temp_var)
438
438
else
439
439
$ var = $ temp_var
440
440
end
@@ -443,21 +443,21 @@ function build_output(model_info)
443
443
444
444
@gensym (evaluator, generator)
445
445
generator_kw_form = isempty (args) ? () : (:($ generator (;$ (args... )) = $ generator ($ (arg_syms... ))),)
446
- model_gen_constructor = :(DynamicPPL. ModelGen {$(Tuple(arg_syms))} ($ generator, $ defaults_nt))
446
+ model_gen_constructor = :($ DynamicPPL. ModelGen {$(Tuple(arg_syms))} ($ generator, $ defaults_nt))
447
447
448
448
ex = quote
449
449
function $evaluator (
450
- $ model:: DynamicPPL.Model ,
451
- $ vi:: DynamicPPL.VarInfo ,
452
- $ sampler:: DynamicPPL.AbstractSampler ,
453
- $ ctx:: DynamicPPL.AbstractContext ,
450
+ $ model:: $ DynamicPPL.Model ,
451
+ $ vi:: $ DynamicPPL.VarInfo ,
452
+ $ sampler:: $ DynamicPPL.AbstractSampler ,
453
+ $ ctx:: $ DynamicPPL.AbstractContext ,
454
454
)
455
455
$ unwrap_data_expr
456
- DynamicPPL. resetlogp! ($ vi)
456
+ $ DynamicPPL. resetlogp! ($ vi)
457
457
$ main_body
458
458
end
459
459
460
- $ generator ($ (args... )) = DynamicPPL. Model ($ evaluator, $ args_nt, $ model_gen_constructor)
460
+ $ generator ($ (args... )) = $ DynamicPPL. Model ($ evaluator, $ args_nt, $ model_gen_constructor)
461
461
$ (generator_kw_form... )
462
462
463
463
$ model_gen = $ model_gen_constructor
0 commit comments