all.jl 448 B
abstract type AbstractLogDensity <: AbstractModel end
struct LogDensity{L} <: AbstractLogDensity
density :: L
end
logdensity(model::LogDensity{<:Function}, x; kwargs...) = model.density(x)
logdensity(model::LogDensity{<:Distribution}, x; kwargs...) = logpdf(model.density, x)
logdensity(model::AbstractMCMC.LogDensityModel, x; kwargs...) = LogDensityProblems.logdensity(model.logdensity, x)
include("samplebased.jl")
include("multilevel.jl")