Skip to content

Commit 1e88adc

Browse files
authored
Use strong zeros in the diffrules for min/max (#87)
1 parent d24b8a5 commit 1e88adc

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/rules.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ _abs_deriv(x) = signbit(x) ? -one(x) : one(x)
9090
@define_diffrule Base.mod(x, y) = :( z = $x / $y; ifelse(isinteger(z), oftype(float(z), NaN), one(float(z))) ), :( z = $x / $y; ifelse(isinteger(z), oftype(float(z), NaN), -floor(float(z))) )
9191
@define_diffrule Base.rem(x, y) = :( z = $x / $y; ifelse(isinteger(z), oftype(float(z), NaN), one(float(z))) ), :( z = $x / $y; ifelse(isinteger(z), oftype(float(z), NaN), -trunc(float(z))) )
9292
@define_diffrule Base.rem2pi(x, r) = :( 1 ), :NaN
93-
@define_diffrule Base.max(x, y) = :( $x > $y ? one($x) : zero($x) ), :( $x > $y ? zero($y) : one($y) )
94-
@define_diffrule Base.min(x, y) = :( $x > $y ? zero($x) : one($x) ), :( $x > $y ? one($y) : zero($y) )
93+
@define_diffrule Base.max(x, y) = :( $x > $y ), :( !($x > $y) )
94+
@define_diffrule Base.min(x, y) = :( !($x > $y) ), :( $x > $y )
9595

9696
# trinary #
9797
#---------#

0 commit comments

Comments
 (0)