From 1e751abb892a9b745b60a0058608632728324415 Mon Sep 17 00:00:00 2001 From: xingyuan wang <48229139+maogou@users.noreply.github.com> Date: Wed, 6 Dec 2023 16:43:16 +0800 Subject: [PATCH 1/3] fix: Sequence intersections func Sequence has multiple same period call the intersections func result is error --- src/Sequence.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sequence.php b/src/Sequence.php index f348e9a..596af42 100644 --- a/src/Sequence.php +++ b/src/Sequence.php @@ -123,13 +123,13 @@ public function intersections(): self /** @var Period $current */ $isContained = $current->contains($period); - if ($isContained && $isPreviouslyContained) { + if ($isContained && $isPreviouslyContained && !$sequence->contains($current)) { $sequence->push($current->intersect($period)); return $sequence; } - if ($current->overlaps($period)) { + if ($current->overlaps($period) && !$sequence->contains($current)) { $sequence->push($current->intersect($period)); } From d00a6df1e56460e5250a4c02e2a4187fc4d7ff0e Mon Sep 17 00:00:00 2001 From: xingyuan wang <48229139+maogou@users.noreply.github.com> Date: Wed, 6 Dec 2023 16:46:49 +0800 Subject: [PATCH 2/3] Update Sequence.php --- src/Sequence.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sequence.php b/src/Sequence.php index 596af42..b44fa43 100644 --- a/src/Sequence.php +++ b/src/Sequence.php @@ -123,13 +123,13 @@ public function intersections(): self /** @var Period $current */ $isContained = $current->contains($period); - if ($isContained && $isPreviouslyContained && !$sequence->contains($current)) { + if ($isContained && $isPreviouslyContained && !$sequence->contains($period)) { $sequence->push($current->intersect($period)); return $sequence; } - if ($current->overlaps($period) && !$sequence->contains($current)) { + if ($current->overlaps($period) && !$sequence->contains($period)) { $sequence->push($current->intersect($period)); } From c3f97b7e4af0594ab4345fd4493c3bab473a6736 Mon Sep 17 00:00:00 2001 From: xingyuan wang <48229139+maogou@users.noreply.github.com> Date: Wed, 6 Dec 2023 16:51:47 +0800 Subject: [PATCH 3/3] Update Sequence.php --- src/Sequence.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sequence.php b/src/Sequence.php index b44fa43..596af42 100644 --- a/src/Sequence.php +++ b/src/Sequence.php @@ -123,13 +123,13 @@ public function intersections(): self /** @var Period $current */ $isContained = $current->contains($period); - if ($isContained && $isPreviouslyContained && !$sequence->contains($period)) { + if ($isContained && $isPreviouslyContained && !$sequence->contains($current)) { $sequence->push($current->intersect($period)); return $sequence; } - if ($current->overlaps($period) && !$sequence->contains($period)) { + if ($current->overlaps($period) && !$sequence->contains($current)) { $sequence->push($current->intersect($period)); }