Skip to content

Commit a884ddd

Browse files
authored
Merge pull request #503 from sethaxen/div
Overload div for Dual
2 parents 966eb27 + 0c2d979 commit a884ddd

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ForwardDiff"
22
uuid = "f6369f11-7733-5829-9624-2563aa707210"
3-
version = "0.10.15"
3+
version = "0.10.16"
44

55
[deps]
66
CommonSubexpressions = "bbf7d656-a473-5ed7-a52c-81e309532950"

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: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,19 @@ 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(FDNUM, PRIMAL2) === div(PRIMAL, PRIMAL2)
141+
@test div(PRIMAL, FDNUM2) === div(PRIMAL, PRIMAL2)
142+
143+
@test div(NESTED_FDNUM, NESTED_FDNUM2) === div(PRIMAL, PRIMAL2)
144+
@test div(NESTED_FDNUM, PRIMAL2) === div(PRIMAL, PRIMAL2)
145+
@test div(PRIMAL, NESTED_FDNUM2) === div(PRIMAL, PRIMAL2)
146+
147+
if VERSION v"1.4"
148+
@test div(FDNUM, FDNUM2, RoundUp) === div(PRIMAL, PRIMAL2, RoundUp)
149+
@test div(NESTED_FDNUM, NESTED_FDNUM2, RoundUp) === div(PRIMAL, PRIMAL2, RoundUp)
150+
end
151+
139152
@test Base.rtoldefault(typeof(FDNUM)) Base.rtoldefault(typeof(PRIMAL))
140153
@test Dual{TestTag()}(PRIMAL-eps(V), PARTIALS) FDNUM
141154
@test Base.rtoldefault(typeof(NESTED_FDNUM)) Base.rtoldefault(typeof(PRIMAL))

0 commit comments

Comments
 (0)