From 96ac68b9d77e26fe7784b43cd4ea3300420176be Mon Sep 17 00:00:00 2001 From: Benoit Pasquier Date: Thu, 7 Feb 2019 10:43:43 +1100 Subject: [PATCH 1/2] fix - isless broken for mixed types #72 --- src/dual.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dual.jl b/src/dual.jl index fd70e87..c82e8c0 100644 --- a/src/dual.jl +++ b/src/dual.jl @@ -171,7 +171,7 @@ Base.isequal(z::Dual, w::Dual) = isequal(value(z),value(w)) && isequal(epsilon(z Base.isequal(z::Dual, x::Number) = isequal(value(z), x) && isequal(epsilon(z), zero(x)) Base.isequal(x::Number, z::Dual) = isequal(z, x) -Base.isless(z::Dual{T},w::Dual{T}) where {T<:Real} = value(z) < value(w) +Base.isless(z::Dual{<:Real},w::Dual{<:Real}) = value(z) < value(w) Base.isless(z::Real,w::Dual{<:Real}) = z < value(w) Base.isless(z::Dual{<:Real},w::Real) = value(z) < w From 6f5455d616d25530e9ac37f7480e1bbd068f2936 Mon Sep 17 00:00:00 2001 From: Benoit Pasquier Date: Thu, 7 Feb 2019 11:30:57 +1100 Subject: [PATCH 2/2] Added test for issue #72 --- test/automatic_differentiation_test.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/automatic_differentiation_test.jl b/test/automatic_differentiation_test.jl index a0d44a1..b6126be 100644 --- a/test/automatic_differentiation_test.jl +++ b/test/automatic_differentiation_test.jl @@ -20,6 +20,8 @@ y = sin(x)+exp(x) @test epsilon(y) ≈ cos(2)+exp(2) @test x > 1 +@test dual(1) < dual(2.0) +@test dual(1.0) < dual(2.0) y = abs(-x) @test value(y) ≈ 2.0 @test epsilon(y) ≈ 1.0