diff --git a/src/interface.jl b/src/interface.jl index 18080ac7..234a46fa 100644 --- a/src/interface.jl +++ b/src/interface.jl @@ -66,6 +66,8 @@ function test_interface(μ::M) where {M} x = @inferred testvalue(Float64, μ) β = @inferred basemeasure(μ, x) + @test logdensity_def(μ, x) ≈ logdensity_rel(μ, β, x) + ℓμ = @inferred logdensityof(μ, x) ℓβ = @inferred logdensityof(β, x) diff --git a/test/combinators/transformedmeasure.jl b/test/combinators/transformedmeasure.jl index b8010749..72dd4c10 100644 --- a/test/combinators/transformedmeasure.jl +++ b/test/combinators/transformedmeasure.jl @@ -42,6 +42,15 @@ function test_pushfwd(f, μ, ν_ref) test_transport(ν_ref, ν) y = rand(ν_ref) + x = inverse(f)(y) + + β = basemeasure(μ) + @test isapprox( + logdensity_rel(ν, pushfwd(f, β), y), + logdensity_rel(μ, β, x), + atol = 1e-10, + ) + @test isapprox(@inferred(logdensityof(ν, y)), logdensityof(ν_ref, y), atol = 1e-10) @test isapprox( @inferred(unsafe_logdensityof(ν, y)),