on master help sign in
fix interval overlap detection
f2fc60cAgentM
src/lib/ProjectM36/DataTypes/Interval.hs+2−2
@@ -96,8 +96,8 @@ intervalOverlaps :: Atom -> Atom -> Either AtomFunctionError Bool
96intervalOverlaps (IntervalAtom i1start i1end i1startopen i1endopen) (IntervalAtom i2start i2end i2startopen i2endopen) = do
96intervalOverlaps (IntervalAtom i1start i1end i1startopen i1endopen) (IntervalAtom i2start i2end i2startopen i2endopen) = do
97 cmp1 <- atomCompare i1start i2end
97 cmp1 <- atomCompare i1start i2end
98 cmp2 <- atomCompare i2start i1end
98 cmp2 <- atomCompare i2start i1end
99− let startcmp = if i1startopen then oplt else oplte
99+ let startcmp = if i1startopen || i2endopen then oplt else oplte
100− endcmp = if i2startopen then oplt else oplte
100+ endcmp = if i2startopen || i1endopen then oplt else oplte
101 oplte op = op == LT || op == EQ
101 oplte op = op == LT || op == EQ
102 oplt op = op == LT
102 oplt op = op == LT
103 pure (startcmp cmp1 && endcmp cmp2)
103 pure (startcmp cmp1 && endcmp cmp2)