@@ -89,43 +89,23 @@ function propose(
89
89
spl:: MetropolisHastings{<:NamedTuple} ,
90
90
model:: DensityModel
91
91
)
92
- proposal = _propose (spl. proposal, model)
93
- return Transition (model, proposal)
94
- end
95
-
96
- @generated function _propose (
97
- proposals:: NamedTuple{names} ,
98
- model:: DensityModel
99
- ) where {names}
100
- expr = Expr (:tuple )
101
- map (names) do f
102
- push! (expr. args, Expr (:(= ), f, :(propose (proposals.$ f, model)) ))
92
+ proposal = map (spl. proposal) do p
93
+ propose (p, model)
103
94
end
104
- return expr
95
+ return Transition (model, proposal)
105
96
end
106
97
107
98
function propose (
108
99
spl:: MetropolisHastings{<:NamedTuple} ,
109
100
model:: DensityModel ,
110
101
params_prev:: Transition
111
102
)
112
- proposal = _propose (spl. proposal, model, params_prev. params)
113
- return Transition (model, proposal)
114
- end
115
-
116
- @generated function _propose (
117
- proposals:: NamedTuple{names} ,
118
- model:: DensityModel ,
119
- params_prev:: NamedTuple
120
- ) where {names}
121
- expr = Expr (:tuple )
122
- map (names) do f
123
- push! (expr. args, Expr (:(= ), f, :(propose (proposals.$ f, model, params_prev.$ f)) ))
103
+ proposal = map (spl. proposal, params_prev. params) do p, params
104
+ propose (p, model, params)
124
105
end
125
- return expr
106
+ return Transition (model, proposal)
126
107
end
127
108
128
-
129
109
# Evaluate the likelihood of t conditional on t_cond.
130
110
function q (
131
111
spl:: MetropolisHastings{<:AbstractArray} ,
0 commit comments