Skip to content

Commit c0e6a2b

Browse files
eeshan9815dpsanders
authored andcommitted
Add some set operations (#154)
1 parent 945180e commit c0e6a2b

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

src/IntervalArithmetic.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export
4040
@interval, @biginterval, @floatinterval, @make_interval,
4141
diam, radius, mid, mag, mig, hull,
4242
emptyinterval, ∅, ∞, isempty, isinterior, isdisjoint, ,
43-
precedes, strictprecedes, ,
43+
precedes, strictprecedes, , , , ,
4444
entireinterval, isentire, nai, isnai, isthin, iscommon, isatomic,
4545
widen, inf, sup,
4646
parameters, eps, dist,

src/intervals/set_operations.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ function ⊆(a::Interval, b::Interval)
2626
b.lo a.lo && a.hi b.hi
2727
end
2828

29+
function (a::Interval, b::Interval)
30+
a == b && return false
31+
a b
32+
end
33+
34+
function (a::Interval, b::Interval)
35+
b a
36+
end
37+
38+
function (a::Interval, b::Interval)
39+
b a
40+
end
2941

3042
# isinterior
3143
function isinterior(a::Interval, b::Interval)

test/interval_tests/consistency.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,18 @@ c = @interval(0.25, 4.0)
9393
@test !(b emptyinterval(b))
9494
@test emptyinterval(c) c
9595
@test emptyinterval(c) emptyinterval(c)
96+
@test b c
97+
@test !(b b)
98+
@test emptyinterval(c) c
99+
@test !(c emptyinterval(c))
100+
@test c b
101+
@test !(b b)
102+
@test !(emptyinterval(c) c)
103+
@test c emptyinterval(c)
104+
@test c b
105+
@test b b
106+
@test !(emptyinterval(c) c)
107+
@test c emptyinterval(c)
96108
@test isdisjoint(a, @interval(2.1))
97109
@test !(isdisjoint(a, b))
98110
@test isdisjoint(emptyinterval(a), a)

0 commit comments

Comments
 (0)