Skip to content

Commit 9e8526b

Browse files
author
Michael Abbott
committed
only alter equality, not ordering
1 parent 69c9280 commit 9e8526b

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/dual.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,9 @@ for pred in UNARY_PREDICATES
316316
@eval Base.$(pred)(d::Dual) = $(pred)(value(d))
317317
end
318318

319-
# BINARY_PREDICATES = Symbol[:isequal, :isless, :<, :>, :(==), :(!=), :(<=), :(>=)]
319+
# BINARY_PREDICATES = Symbol[:isequal, :isless, :<, :>, :(==), :(!=), :(<=), :(>=)] # prelude.jl
320+
321+
Base.iszero(x::Dual) = iszero(value(x)) && iszero(partials(x))
320322

321323
for pred in [:isequal, :(==)]
322324
@eval begin
@@ -340,13 +342,9 @@ for pred in [:isless, :<, :>, :(<=), :(>=)]
340342
@eval begin
341343
@define_binary_dual_op(
342344
Base.$(pred),
343-
if value(x) == value(y) # both Dual
344-
$(pred)(partials(x), partials(y))
345-
else
346-
$(pred)(value(x), value(y))
347-
end,
348-
$(pred)(value(x), y), # only x is Dual
349-
$(pred)(x, value(y)), # only y is Dual
345+
$(pred)(value(x), value(y)),
346+
$(pred)(value(x), y),
347+
$(pred)(x, value(y)),
350348
)
351349
end
352350
end

0 commit comments

Comments
 (0)