@@ -5,18 +5,53 @@ if isdefined(Base, :get_extension)
55 using LogDensityProblemsAD
66 using Random
77 using SliceSampling
8- using Turing: Turing
8+ using Turing
9+ # using Turing: Turing, Experimental
910else
1011 using .. LogDensityProblemsAD
1112 using .. Random
1213 using .. SliceSampling
13- using .. Turing: Turing
14+ using .. Turing
15+ # using ..Turing: Turing, Experimental
1416end
1517
18+ # Required for using the slice samplers as `externalsampler`s in Turing
19+ # begin
1620Turing. Inference. getparams (
1721 :: Turing.DynamicPPL.Model ,
1822 sample:: SliceSampling.Transition
1923) = sample. params
24+ # end
25+
26+ # Required for using the slice samplers as `Experimental.Gibbs` samplers in Turing
27+ # begin
28+ Turing. Inference. getparams (
29+ :: Turing.DynamicPPL.Model ,
30+ state:: SliceSampling.UnivariateSliceState
31+ ) = state. transition. params
32+
33+ Turing. Inference. getparams (
34+ :: Turing.DynamicPPL.Model ,
35+ state:: SliceSampling.GibbsState
36+ ) = state. transition. params
37+
38+ Turing. Inference. getparams (
39+ :: Turing.DynamicPPL.Model ,
40+ state:: SliceSampling.HitAndRunState
41+ ) = state. transition. params
42+
43+ Turing. Experimental. gibbs_requires_recompute_logprob (
44+ model_dst,
45+ :: Turing.DynamicPPL.Sampler {
46+ <: Turing.Inference.ExternalSampler {
47+ <: SliceSampling.AbstractSliceSampling , A, U
48+ }
49+ },
50+ sampler_src,
51+ state_dst,
52+ state_src
53+ ) where {A,U} = false
54+ # end
2055
2156function SliceSampling. initial_sample (
2257 rng:: Random.AbstractRNG ,
0 commit comments