From 8ba815c819da6af5394e94b05df9a05cc30fe498 Mon Sep 17 00:00:00 2001 From: azzaare Date: Thu, 25 Mar 2021 12:09:33 +0900 Subject: [PATCH 1/2] Add methods for Float64/Int diff in CBLS --- src/PatternFolds.jl | 3 ++- src/intervals.jl | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/PatternFolds.jl b/src/PatternFolds.jl index eb0f613..1c8bbbb 100644 --- a/src/PatternFolds.jl +++ b/src/PatternFolds.jl @@ -10,7 +10,8 @@ export Interval, IntervalsFold export pattern, gap, folds, check_pattern export length export fold, unfold -export value +export value, closed, opened +export a_isless, b_isless, a_ismore, b_ismore # includes include("common.jl") diff --git a/src/intervals.jl b/src/intervals.jl index 9d371cd..33b656f 100644 --- a/src/intervals.jl +++ b/src/intervals.jl @@ -23,6 +23,22 @@ closed(i, ::Val{:b}) = i.b[2] closed(i, bound) = closed(i, Val(bound)) opened(i, bound) = !closed(i, bound) +function a_isless(i₁, i₂) + a₁ = value(i₁, :a) + a₂ = value(i₂, :a) + return a₁ == a₂ ? closed(i₁, :a) || opened(i₂, :a) : a₁ < a₂ +end + +a_ismore(i₁, i₂) = a_isless(i₂, i₁) + +function b_ismore(i₁, i₂) + b₁ = value(i₁, :b) + b₂ = value(i₂, :b) + return b₁ == b₂ ? closed(i₁, :b) || opened(i₂, :b) : b₁ > b₂ +end + +b_isless(i₁, i₂) = b_ismore(i₂, i₁) + function Base.in(val, i::Interval) (x, y) = (value(i, :a), value(i, :b)) lesser = closed(i, :a) ? x ≤ val : x < val From 2d6c1f3a804ea5a00f2e4f9615e220511d5fe135 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Thu, 25 Mar 2021 15:59:11 +0900 Subject: [PATCH 2/2] Bump version --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index da3b071..ffbd698 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "PatternFolds" uuid = "c18a7f1d-76ad-4ce4-950d-5419b888513b" authors = ["Jean-Francois Baffier"] -version = "0.1.3" +version = "0.1.4" [deps] Lazy = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0"