Skip to content

Commit a64af27

Browse files
committed
Specialize composition of log with AbstractLikelihood
1 parent fbfcc14 commit a64af27

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/combinators/likelihood.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
export AbstractLikelihood, Likelihood
22

33
abstract type AbstractLikelihood end
4+
(lik::AbstractLikelihood)(p) = exp(ULogarithmic, logdensityof(lik.k(p), lik.x))
5+
6+
DensityInterface.DensityKind(::AbstractLikelihood) = IsDensity()
7+
8+
Base.:(::typeof(log), lik::AbstractLikelihood) = logdensityof(lik)
49

510
# @inline function logdensityof(ℓ::AbstractLikelihood, p)
611
# t() = dynamic(unsafe_logdensityof(ℓ, p))
@@ -121,10 +126,6 @@ struct Likelihood{K,X} <: AbstractLikelihood
121126
Likelihood(μ, x) = Likelihood(kernel(μ), x)
122127
end
123128

124-
(lik::AbstractLikelihood)(p) = exp(ULogarithmic, logdensityof(lik.k(p), lik.x))
125-
126-
DensityInterface.DensityKind(::AbstractLikelihood) = IsDensity()
127-
128129
function Pretty.quoteof(ℓ::Likelihood)
129130
k = Pretty.quoteof(ℓ.k)
130131
x = Pretty.quoteof(ℓ.x)

0 commit comments

Comments
 (0)