11# internal model structure consisting of prior, log-likelihood function, and a cache
22
3- struct Model {P,L,C} <: AbstractMCMC.AbstractModel
3+ struct ESSModel {P,L,C} <: AbstractMCMC.AbstractModel
44 " Gaussian prior."
55 prior:: P
66 " Log likelihood function."
77 loglikelihood:: L
88 " Cache."
99 cache:: C
1010
11- function Model {P,L} (prior:: P , loglikelihood:: L ) where {P,L}
11+ function ESSModel {P,L} (prior:: P , loglikelihood:: L ) where {P,L}
1212 isgaussian (P) ||
1313 error (" prior distribution has to be a Gaussian distribution" )
1414
@@ -19,8 +19,8 @@ struct Model{P,L,C} <: AbstractMCMC.AbstractModel
1919 end
2020end
2121
22- Model (prior, loglikelihood) =
23- Model {typeof(prior),typeof(loglikelihood)} (prior, loglikelihood)
22+ ESSModel (prior, loglikelihood) =
23+ ESSModel {typeof(prior),typeof(loglikelihood)} (prior, loglikelihood)
2424
2525# cache for high-dimensional samplers
2626function cache (dist)
@@ -39,11 +39,11 @@ isgaussian(dist) = false
3939randtype (dist) = eltype (dist)
4040
4141# evaluate the loglikelihood of a sample
42- Distributions. loglikelihood (model:: Model , f) = model. loglikelihood (f)
42+ Distributions. loglikelihood (model:: ESSModel , f) = model. loglikelihood (f)
4343
4444# sample from the prior
45- initial_sample (rng:: Random.AbstractRNG , model:: Model ) = rand (rng, model. prior)
46- function sample_prior (rng:: Random.AbstractRNG , model:: Model )
45+ initial_sample (rng:: Random.AbstractRNG , model:: ESSModel ) = rand (rng, model. prior)
46+ function sample_prior (rng:: Random.AbstractRNG , model:: ESSModel )
4747 cache = model. cache
4848
4949 if cache === nothing
@@ -55,8 +55,8 @@ function sample_prior(rng::Random.AbstractRNG, model::Model)
5555end
5656
5757# compute the proposal
58- proposal (model:: Model , f, ν, θ) = proposal (model. prior, f, ν, θ)
59- proposal! (out, model:: Model , f, ν, θ) = proposal! (out, model. prior, f, ν, θ)
58+ proposal (model:: ESSModel , f, ν, θ) = proposal (model. prior, f, ν, θ)
59+ proposal! (out, model:: ESSModel , f, ν, θ) = proposal! (out, model. prior, f, ν, θ)
6060
6161# default out-of-place implementation
6262function proposal (prior, f, ν, θ)
0 commit comments