Skip to content

Commit 9bea5b4

Browse files
committed
Implement div for Dual
1 parent 966eb27 commit 9bea5b4

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

src/dual.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,12 @@ Base.trunc(d::Dual) = trunc(value(d))
279279
Base.round(::Type{R}, d::Dual) where {R<:Real} = round(R, value(d))
280280
Base.round(d::Dual) = round(value(d))
281281

282+
if VERSION v"1.4"
283+
Base.div(x::Dual, y::Dual, r::RoundingMode) = div(value(x), value(y), r)
284+
else
285+
Base.div(x::Dual, y::Dual) = div(value(x), value(y))
286+
end
287+
282288
Base.hash(d::Dual) = hash(value(d))
283289
Base.hash(d::Dual, hsh::UInt) = hash(value(d), hsh)
284290

test/DualTest.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,14 @@ for N in (0,3), M in (0,4), V in (Int, Float32)
136136
@test round(FDNUM2) === round(PRIMAL2)
137137
@test round(NESTED_FDNUM) === round(PRIMAL)
138138

139+
@test div(FDNUM, FDNUM2) === div(PRIMAL, PRIMAL2)
140+
@test div(NESTED_FDNUM, NESTED_FDNUM2) === div(PRIMAL, PRIMAL2)
141+
142+
if VERSION v"1.4"
143+
@test div(FDNUM, FDNUM2, RoundUp) === div(PRIMAL, PRIMAL2, RoundUp)
144+
@test div(NESTED_FDNUM, NESTED_FDNUM2, RoundUp) === div(PRIMAL, PRIMAL2, RoundUp)
145+
end
146+
139147
@test Base.rtoldefault(typeof(FDNUM)) Base.rtoldefault(typeof(PRIMAL))
140148
@test Dual{TestTag()}(PRIMAL-eps(V), PARTIALS) FDNUM
141149
@test Base.rtoldefault(typeof(NESTED_FDNUM)) Base.rtoldefault(typeof(PRIMAL))

0 commit comments

Comments
 (0)