@@ -3,28 +3,16 @@ struct TuringState{S,F}
3
3
logdensity:: F
4
4
end
5
5
6
- struct TuringTransition{T,NT<: NamedTuple ,F<: AbstractFloat }
7
- θ:: T
8
- lp:: F
9
- stat:: NT
10
- end
11
-
12
- function TuringTransition (vi:: AbstractVarInfo , t)
13
- theta = tonamedtuple (vi)
14
- lp = getlogp (vi)
15
- return TuringTransition (theta, lp, getstats (t))
16
- end
17
-
18
- metadata (t:: TuringTransition ) = merge ((lp = t. lp,), t. stat)
19
- DynamicPPL. getlogp (t:: TuringTransition ) = t. lp
6
+ metadata (t:: Transition ) = merge ((lp = t. lp,), t. stat)
7
+ DynamicPPL. getlogp (t:: Transition ) = t. lp
20
8
21
9
state_to_turing (f:: DynamicPPL.LogDensityFunction , state) = TuringState (state, f)
22
10
function transition_to_turing (f:: DynamicPPL.LogDensityFunction , transition)
23
11
θ = getparams (transition)
24
12
varinfo = DynamicPPL. unflatten (f. varinfo, θ)
25
13
# TODO : `deepcopy` is overkill; make more efficient.
26
14
varinfo = DynamicPPL. invlink!! (deepcopy (varinfo), f. model)
27
- return TuringTransition (varinfo, transition)
15
+ return Transition (varinfo, transition)
28
16
end
29
17
30
18
# NOTE: Only thing that depends on the underlying sampler.
0 commit comments