From a7212d6f27c1585994a670b676ed2068943e0f4c Mon Sep 17 00:00:00 2001 From: Chad Scherrer Date: Fri, 18 Aug 2023 14:16:02 -0700 Subject: [PATCH] =?UTF-8?q?logdensity=5Fdef(=CE=BC,=20x)=20=E2=89=88=20log?= =?UTF-8?q?density=5Frel(=CE=BC,=20=CE=B2,=20x)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interface.jl | 2 ++ test/combinators/transformedmeasure.jl | 9 +++++++++ 2 files changed, 11 insertions(+) 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)),