From 7f704b31dcfea76525ddd58fb05cb85612f70752 Mon Sep 17 00:00:00 2001 From: Seth Axen Date: Fri, 8 Apr 2022 23:53:54 +0200 Subject: [PATCH 1/5] Add fld and cld --- src/dual.jl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/dual.jl b/src/dual.jl index 31a7ce99..870c017d 100644 --- a/src/dual.jl +++ b/src/dual.jl @@ -284,6 +284,10 @@ Base.trunc(d::Dual) = trunc(value(d)) Base.round(::Type{R}, d::Dual) where {R<:Real} = round(R, value(d)) Base.round(d::Dual) = round(value(d)) +Base.fld(x::Dual, y::Dual) = fld(value(x), value(y)) + +Base.cld(x::Dual, y::Dual) = cld(value(x), value(y)) + if VERSION ≥ v"1.4" Base.div(x::Dual, y::Dual, r::RoundingMode) = div(value(x), value(y), r) else From 5612b472ece20f4e4ecade79e806f117b4a44551 Mon Sep 17 00:00:00 2001 From: Seth Axen Date: Fri, 8 Apr 2022 23:54:02 +0200 Subject: [PATCH 2/5] Add new tests --- test/DualTest.jl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/DualTest.jl b/test/DualTest.jl index 5a4a8350..ca76ac58 100644 --- a/test/DualTest.jl +++ b/test/DualTest.jl @@ -137,6 +137,14 @@ for N in (0,3), M in (0,4), V in (Int, Float32) @test round(FDNUM2) === round(PRIMAL2) @test round(NESTED_FDNUM) === round(PRIMAL) + @test fld(FDNUM, FDNUM2) === fld(PRIMAL, PRIMAL2) + @test fld(FDNUM, PRIMAL2) === fld(PRIMAL, PRIMAL2) + @test fld(PRIMAL, FDNUM2) === fld(PRIMAL, PRIMAL2) + + @test cld(FDNUM, FDNUM2) === cld(PRIMAL, PRIMAL2) + @test cld(FDNUM, PRIMAL2) === cld(PRIMAL, PRIMAL2) + @test cld(PRIMAL, FDNUM2) === cld(PRIMAL, PRIMAL2) + @test div(FDNUM, FDNUM2) === div(PRIMAL, PRIMAL2) @test div(FDNUM, PRIMAL2) === div(PRIMAL, PRIMAL2) @test div(PRIMAL, FDNUM2) === div(PRIMAL, PRIMAL2) From 36f89b036d0f3332833650a49aa8c6763175db8a Mon Sep 17 00:00:00 2001 From: Seth Axen Date: Fri, 8 Apr 2022 23:54:36 +0200 Subject: [PATCH 3/5] Increment patch number --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 25c3ed0d..61e31efa 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ForwardDiff" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.25" +version = "0.10.26" [deps] CommonSubexpressions = "bbf7d656-a473-5ed7-a52c-81e309532950" From d676c2c5998a391a64e72f7300be915173f93b89 Mon Sep 17 00:00:00 2001 From: Seth Axen Date: Sat, 9 Apr 2022 00:01:02 +0200 Subject: [PATCH 4/5] Match method defined in base --- src/dual.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dual.jl b/src/dual.jl index 870c017d..7bc3ba5b 100644 --- a/src/dual.jl +++ b/src/dual.jl @@ -284,9 +284,9 @@ Base.trunc(d::Dual) = trunc(value(d)) Base.round(::Type{R}, d::Dual) where {R<:Real} = round(R, value(d)) Base.round(d::Dual) = round(value(d)) -Base.fld(x::Dual, y::Dual) = fld(value(x), value(y)) +Base.fld(x::T, y::T) where {T<:Dual} = fld(value(x), value(y)) -Base.cld(x::Dual, y::Dual) = cld(value(x), value(y)) +Base.cld(x::T, y::T) where {T<:Dual} = cld(value(x), value(y)) if VERSION ≥ v"1.4" Base.div(x::Dual, y::Dual, r::RoundingMode) = div(value(x), value(y), r) From 9b8c59cf1df6a767a2a1d9a619811bf87251f63c Mon Sep 17 00:00:00 2001 From: Seth Axen Date: Sat, 9 Apr 2022 11:05:51 +0200 Subject: [PATCH 5/5] Revert "Match method defined in base" This reverts commit d676c2c5998a391a64e72f7300be915173f93b89. --- src/dual.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dual.jl b/src/dual.jl index 7bc3ba5b..870c017d 100644 --- a/src/dual.jl +++ b/src/dual.jl @@ -284,9 +284,9 @@ Base.trunc(d::Dual) = trunc(value(d)) Base.round(::Type{R}, d::Dual) where {R<:Real} = round(R, value(d)) Base.round(d::Dual) = round(value(d)) -Base.fld(x::T, y::T) where {T<:Dual} = fld(value(x), value(y)) +Base.fld(x::Dual, y::Dual) = fld(value(x), value(y)) -Base.cld(x::T, y::T) where {T<:Dual} = cld(value(x), value(y)) +Base.cld(x::Dual, y::Dual) = cld(value(x), value(y)) if VERSION ≥ v"1.4" Base.div(x::Dual, y::Dual, r::RoundingMode) = div(value(x), value(y), r)