interval-patterns 0.7.0.1 → 0.7.0.2
raw patch · 2 files changed
+15/−7 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- interval-patterns.cabal +1/−1
- src/Data/Interval.hs +14/−6
interval-patterns.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: interval-patterns-version: 0.7.0.1+version: 0.7.0.2 author: Melanie Brown synopsis: Intervals, and monoids thereof category: Algebra, Charts, Data Structures, Math, Statistics
src/Data/Interval.hs view
@@ -662,12 +662,20 @@ -- >>> hull (Bottom :<-|: Levitate 3) (4 :<>: 5) -- (Bottom :<->: Levitate 5) hull :: (Ord x) => Interval x -> Interval x -> Interval x-hull i1 i2 = case (lower (min i1 i2), upper (max i1 i2)) of- (SomeBound l@(Inf _), SomeBound u@(Sup _)) -> l :<-->: u- (SomeBound l@(Inf _), SomeBound u@(Max _)) -> l :<--|: u- (SomeBound l@(Min _), SomeBound u@(Sup _)) -> l :|-->: u- (SomeBound l@(Min _), SomeBound u@(Max _)) -> l :|--|: u- _ -> error "Invalid lower/upper bounds"+hull i1 i2 = case adjacency i1 i2 of+ Before i j -> lowerBound i ... upperBound j+ Meets i _ k -> lowerBound i ... upperBound k+ Overlaps i _ k -> lowerBound i ... upperBound k+ Starts i j -> lowerBound i ... upperBound j+ During i _ k -> lowerBound i ... upperBound k+ Finishes i j -> lowerBound i ... upperBound j+ Identical i -> i+ FinishedBy i j -> lowerBound i ... upperBound j+ Contains i _ k -> lowerBound i ... upperBound k+ StartedBy i j -> lowerBound i ... upperBound j+ OverlappedBy i _ k -> lowerBound i ... upperBound k+ MetBy i _ k -> lowerBound i ... upperBound k+ After i j -> lowerBound i ... upperBound j -- | Get the convex hull of a non-empty list of intervals. hulls :: (Ord x) => NonEmpty (Interval x) -> Interval x