From 68880816ace0553d004bd07e62d6a80f7fad7e74 Mon Sep 17 00:00:00 2001 From: XANTRONIX Industrial <xan@xantronix.com> Date: Sun, 9 Mar 2025 12:36:00 -0400 Subject: [PATCH] Allow Series.intersect() to have start value --- lib/xmet/series.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/xmet/series.py b/lib/xmet/series.py index 6e502b7..b8c8a9c 100644 --- a/lib/xmet/series.py +++ b/lib/xmet/series.py @@ -13,13 +13,17 @@ class Series(dict): def __init__(self): super().__init__() - def intersect(self, series: Self, intersection: SeriesIntersection) -> tuple[float]: + def intersect(self, series: Self, intersection: SeriesIntersection, start: float=None) -> tuple[float]: pairs = nearest(sorted(self.keys(), reverse=True), sorted(series.keys(), reverse=True)) for pair in pairs: v1, v2 = self[pair[0]], series[pair[1]] + if start is not None: + if pair[0] > start: + continue + sign = cmp(v1, v2) if sign == intersection.value: