Skip to content

Commit 4140121

Browse files
eeshan9815dpsanders
authored andcommitted
fix bug in extended_div() (#146)
1 parent a712208 commit 4140121

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/intervals/arithmetic.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,8 @@ function extended_div(a::Interval{T}, b::Interval{T}) where T<:Real
204204
return (Interval(-Inf, a.lo / b.lo), Interval(a.lo / b.hi, Inf))
205205

206206
end
207-
207+
elseif 0 a && 0 b
208+
return (entireinterval(S), emptyinterval(S))
208209
else
209210
return (a / b, emptyinterval(S))
210211
end

test/interval_tests/numeric.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,13 @@ setprecision(Interval, Float64)
4141
@test extended_div(a, c) == (interval(2.4999999999999998e-02, 4.4e+00), emptyinterval(c))
4242
@test extended_div(c, interval(4.0)) == (interval(6.25e-02, 1e+00), emptyinterval(c))
4343
@test extended_div(c, zero(c)) == (emptyinterval(c), emptyinterval(c))
44-
@test extended_div(interval( 0.0, 1.0), interval(0.0,1.0)) == (interval(0.0, Inf), emptyinterval(c))
44+
@test extended_div(interval( 0.0, 1.0), interval(0.0,1.0)) == (entireinterval(c), emptyinterval(c))
4545
@test extended_div(interval(-1.0, 1.0), interval(0.0,1.0)) == (entireinterval(c), emptyinterval(c))
4646
@test extended_div(interval(-1.0, 1.0), interval(-1.0,1.0)) == (entireinterval(c), emptyinterval(c))
4747
@test extended_div(interval(1.0, 2.0), interval(-4.0, 4.0)) == ((-.. -0.25), (0.25..∞))
4848
@test extended_div(interval(-2.0, -1.0), interval(-2.0, 4.0)) == ((-.. -0.25), (0.5..∞))
49+
@test extended_div(interval(0.0, 0.0), interval(-1.0, 1.0)) == (entireinterval(c), emptyinterval(c))
50+
4951

5052
a = @interval(1.e-20)
5153
@test a == Interval(1.0e-20, 1.0000000000000001e-20)

0 commit comments

Comments
 (0)