From 6599783e7aef099b1f8451371a0bb9e5d08b22fc Mon Sep 17 00:00:00 2001 From: David Widmann Date: Thu, 19 Nov 2020 13:54:16 +0100 Subject: [PATCH] Mark ReverseDiff for `filldist(::Skellam, n)` as broken --- test/ad/distributions.jl | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/test/ad/distributions.jl b/test/ad/distributions.jl index 7f017fe0..96f23adf 100644 --- a/test/ad/distributions.jl +++ b/test/ad/distributions.jl @@ -408,6 +408,11 @@ # Broken distributions d.f(d.θ...) isa Union{VonMises,TriangularDist} && continue + + # Skellam only fails in these tests with ReverseDiff + # Ref: https://github.com/TuringLang/DistributionsAD.jl/issues/126 + filldist_broken = d.f(d.θ...) isa Skellam ? (:ReverseDiff,) : d.broken + arraydist_broken = d.broken # Create `filldist` distribution f_filldist = (θ...,) -> filldist(d.f(θ...), n) @@ -429,10 +434,22 @@ # Test AD test_ad( - DistSpec(Symbol(:filldist, " (", d.name, ", $sz)"), f_filldist, d.θ, x) + DistSpec( + Symbol(:filldist, " (", d.name, ", $sz)"), + f_filldist, + d.θ, + x; + broken=filldist_broken, + ) ) test_ad( - DistSpec(Symbol(:arraydist, " (", d.name, ", $sz)"), f_arraydist, d.θ, x) + DistSpec( + Symbol(:arraydist, " (", d.name, ", $sz)"), + f_arraydist, + d.θ, + x; + broken=arraydist_broken, + ) ) end end