diff --git a/src/rulesets/Base/base.jl b/src/rulesets/Base/base.jl index b79615f7b..f6fadb3c2 100644 --- a/src/rulesets/Base/base.jl +++ b/src/rulesets/Base/base.jl @@ -186,7 +186,7 @@ end islow = x < low, ishigh = high < x, ), - (!(islow | ishigh), islow, ishigh), + (!(islow | ishigh), islow & (low < high), ishigh), ) @scalar_rule x \ y (-(Ω / x), one(y) / x) diff --git a/test/rulesets/Base/base.jl b/test/rulesets/Base/base.jl index 09479828c..6e6702055 100644 --- a/test/rulesets/Base/base.jl +++ b/test/rulesets/Base/base.jl @@ -199,6 +199,10 @@ end # to right test_frule(clamp, 4., 2., 3.) test_rrule(clamp, 4., 2., 3.) + + # high < low + test_frule(clamp, 3., 4., 2.) + test_rrule(clamp, 3., 4., 2.) end @testset "rounding" begin