From 9a8a4fa84591ee7e4eb1fcf3aa619c9779214d27 Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Sat, 14 Jul 2018 12:12:46 -0500 Subject: [PATCH] Revisit `(less|greater)_than_disjoint` functions --- src/Intervals.jl | 3 +-- src/deprecated.jl | 8 ++++++++ src/interval.jl | 22 +++++++++------------- 3 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 src/deprecated.jl diff --git a/src/Intervals.jl b/src/Intervals.jl index 637054f0..65757112 100644 --- a/src/Intervals.jl +++ b/src/Intervals.jl @@ -21,6 +21,7 @@ include("endpoint.jl") include("interval.jl") include("anchoredinterval.jl") include("description.jl") +include("deprecated.jl") export AbstractInterval, Interval, @@ -39,7 +40,5 @@ export AbstractInterval, merge, union, union!, - less_than_disjoint, - greater_than_disjoint, .., ≪, ≫, ⊆, ⊇, ⊈, ⊉ end diff --git a/src/deprecated.jl b/src/deprecated.jl new file mode 100644 index 00000000..45b04522 --- /dev/null +++ b/src/deprecated.jl @@ -0,0 +1,8 @@ +using Base: @deprecate + +# BEGIN Intervals 0.1 deprecations + +@deprecate less_than_disjoint(a, b) isless_disjoint(a, b) true +@deprecate greater_than_disjoint(a, b) isless_disjoint(b, a) true + +# END Intervals 0.1 deprecations diff --git a/src/interval.jl b/src/interval.jl index 4cbccdab..0180cb13 100644 --- a/src/interval.jl +++ b/src/interval.jl @@ -170,24 +170,21 @@ end Base.isless(a::AbstractInterval, b) = LeftEndpoint(a) < b Base.isless(a, b::AbstractInterval) = a < LeftEndpoint(b) -less_than_disjoint(a::AbstractInterval, b) = RightEndpoint(a) < b -less_than_disjoint(a, b::AbstractInterval) = a < LeftEndpoint(b) - -function Base.:isless(a::AbstractInterval, b::AbstractInterval) +function Base.isless(a::AbstractInterval, b::AbstractInterval) return LeftEndpoint(a) < LeftEndpoint(b) end -function less_than_disjoint(a::AbstractInterval, b::AbstractInterval) +isless_disjoint(a::AbstractInterval, b) = RightEndpoint(a) < b +isless_disjoint(a, b::AbstractInterval) = a < LeftEndpoint(b) + +function isless_disjoint(a::AbstractInterval, b::AbstractInterval) return RightEndpoint(a) < LeftEndpoint(b) end -greater_than_disjoint(a, b) = less_than_disjoint(b, a) - """ ≪(a::AbstractInterval, b::AbstractInterval) -> Bool - less_than_disjoint(a::AbstractInterval, b::AbstractInterval) -> Bool -Less-than-and-disjoint comparison operator. Returns `true` if `a` is less than `b` and they +Less than and disjoint comparison operator. Returns `true` if `a` is less than `b` and they are disjoint (they do not overlap). ``` @@ -198,14 +195,13 @@ julia> 0..10 ≪ 11..20 true ``` """ -≪(a, b) = less_than_disjoint(a, b) +≪(a, b) = isless_disjoint(a, b) # ≪̸(a, b) = !≪(a, b) """ ≫(a::AbstractInterval, b::AbstractInterval) -> Bool - greater_than_disjoint(a::AbstractInterval, b::AbstractInterval) -> Bool -Greater-than-and-disjoint comparison operator. Returns `true` if `a` is greater than `b` and +Greater than and disjoint comparison operator. Returns `true` if `a` is greater than `b` and they are disjoint (they do not overlap). ``` @@ -216,7 +212,7 @@ julia> 11..20 ≫ 0..10 true ``` """ -≫(a, b) = greater_than_disjoint(a, b) +≫(a, b) = isless_disjoint(b, a) # ≫̸(a, b) = !≫(a, b) ##### SET OPERATIONS #####