|
41 | 41 | function propose(
|
42 | 42 | rng::Random.AbstractRNG,
|
43 | 43 | proposal::RandomWalkProposal{issymmetric,<:Union{Distribution,AbstractArray}},
|
44 |
| - ::DensityModel |
| 44 | + ::DensityModelOrLogDensityModel |
45 | 45 | ) where {issymmetric}
|
46 | 46 | return rand(rng, proposal)
|
47 | 47 | end
|
48 | 48 |
|
49 | 49 | function propose(
|
50 | 50 | rng::Random.AbstractRNG,
|
51 | 51 | proposal::RandomWalkProposal{issymmetric,<:Union{Distribution,AbstractArray}},
|
52 |
| - model::DensityModel, |
| 52 | + model::DensityModelOrLogDensityModel, |
53 | 53 | t
|
54 | 54 | ) where {issymmetric}
|
55 | 55 | return t + rand(rng, proposal)
|
|
70 | 70 | function propose(
|
71 | 71 | rng::Random.AbstractRNG,
|
72 | 72 | proposal::StaticProposal{issymmetric,<:Union{Distribution,AbstractArray}},
|
73 |
| - model::DensityModel, |
| 73 | + model::DensityModelOrLogDensityModel, |
74 | 74 | t=nothing
|
75 | 75 | ) where {issymmetric}
|
76 | 76 | return rand(rng, proposal)
|
@@ -103,15 +103,15 @@ end
|
103 | 103 | function propose(
|
104 | 104 | rng::Random.AbstractRNG,
|
105 | 105 | proposal::Proposal{<:Function},
|
106 |
| - model::DensityModel |
| 106 | + model::DensityModelOrLogDensityModel |
107 | 107 | )
|
108 | 108 | return propose(rng, proposal(), model)
|
109 | 109 | end
|
110 | 110 |
|
111 | 111 | function propose(
|
112 | 112 | rng::Random.AbstractRNG,
|
113 | 113 | proposal::Proposal{<:Function},
|
114 |
| - model::DensityModel, |
| 114 | + model::DensityModelOrLogDensityModel, |
115 | 115 | t
|
116 | 116 | )
|
117 | 117 | return propose(rng, proposal(t), model)
|
|
132 | 132 | function propose(
|
133 | 133 | rng::Random.AbstractRNG,
|
134 | 134 | proposals::AbstractArray{<:Proposal},
|
135 |
| - model::DensityModel, |
| 135 | + model::DensityModelOrLogDensityModel, |
136 | 136 | )
|
137 | 137 | return map(proposals) do proposal
|
138 | 138 | return propose(rng, proposal, model)
|
|
141 | 141 | function propose(
|
142 | 142 | rng::Random.AbstractRNG,
|
143 | 143 | proposals::AbstractArray{<:Proposal},
|
144 |
| - model::DensityModel, |
| 144 | + model::DensityModelOrLogDensityModel, |
145 | 145 | ts,
|
146 | 146 | )
|
147 | 147 | return map(proposals, ts) do proposal, t
|
|
152 | 152 | @generated function propose(
|
153 | 153 | rng::Random.AbstractRNG,
|
154 | 154 | proposals::NamedTuple{names},
|
155 |
| - model::DensityModel, |
| 155 | + model::DensityModelOrLogDensityModel, |
156 | 156 | ) where {names}
|
157 | 157 | isempty(names) && return :(NamedTuple())
|
158 | 158 | expr = Expr(:tuple)
|
|
163 | 163 | @generated function propose(
|
164 | 164 | rng::Random.AbstractRNG,
|
165 | 165 | proposals::NamedTuple{names},
|
166 |
| - model::DensityModel, |
| 166 | + model::DensityModelOrLogDensityModel, |
167 | 167 | ts,
|
168 | 168 | ) where {names}
|
169 | 169 | isempty(names) && return :(NamedTuple())
|
|
0 commit comments