data-interval 1.1.0 → 1.1.1
raw patch · 4 files changed
+25/−16 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Interval: (/=!) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (/=!) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (/=?) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (/=?) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (<!) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (<!) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (<=!) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (<=!) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (<=?) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (<=?) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (<?) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (<?) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (==!) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (==!) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (==?) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (==?) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (>!) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (>!) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (>=!) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (>=!) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (>=?) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (>=?) :: Ord r => Interval r -> Interval r -> Bool
- Data.Interval: (>?) :: Real r => Interval r -> Interval r -> Bool
+ Data.Interval: (>?) :: Ord r => Interval r -> Interval r -> Bool
Files
- CHANGELOG.markdown +4/−0
- README.md +5/−1
- data-interval.cabal +2/−1
- src/Data/Interval.hs +14/−14
CHANGELOG.markdown view
@@ -1,3 +1,7 @@+1.1.1+-----+* remove unnecessary `Real` constraint from comparison operators.+ 1.1.0 ----- * remove unnecessary Num constraint from bunch of constructors and operations:
README.md view
@@ -3,4 +3,8 @@ [](http://travis-ci.org/msakai/data-interval) -Interval datatype and interval arithmetic for Haskell+Interval datatype and interval arithmetic for Haskell.++Unlike the [intervals package](<http://hackage.haskell.org/package/intervals>),+this package provides both open and closed intervals and is intended to be used+with Rational.
data-interval.cabal view
@@ -1,5 +1,5 @@ Name: data-interval-Version: 1.1.0+Version: 1.1.1 License: BSD3 License-File: COPYING Author: Masahiro Sakai (masahiro.sakai@gmail.com)@@ -8,6 +8,7 @@ Cabal-Version: >= 1.10 Synopsis: Interval arithmetic for both open and closed intervals Description:+ Interval datatype and interval arithmetic for Haskell. Unlike the intervals package (<http://hackage.haskell.org/package/intervals>), this package provides both open and closed intervals and is intended to be used with Rational.
src/Data/Interval.hs view
@@ -379,7 +379,7 @@ condUB = if in2 then Finite x' <= x2 else Finite x' < x2 -- | For all @x@ in @X@, @y@ in @Y@. @x '<' y@?-(<!) :: Real r => Interval r -> Interval r -> Bool+(<!) :: Ord r => Interval r -> Interval r -> Bool a <! b = case ub_a `compare` lb_b of LT -> True@@ -394,29 +394,29 @@ (lb_b, in2) = lowerBound' b -- | For all @x@ in @X@, @y@ in @Y@. @x '<=' y@?-(<=!) :: Real r => Interval r -> Interval r -> Bool+(<=!) :: Ord r => Interval r -> Interval r -> Bool a <=! b = upperBound a <= lowerBound b -- | For all @x@ in @X@, @y@ in @Y@. @x '==' y@?-(==!) :: Real r => Interval r -> Interval r -> Bool+(==!) :: Ord r => Interval r -> Interval r -> Bool a ==! b = a <=! b && a >=! b -- | For all @x@ in @X@, @y@ in @Y@. @x '/=' y@? -- -- Since 1.0.1-(/=!) :: Real r => Interval r -> Interval r -> Bool+(/=!) :: Ord r => Interval r -> Interval r -> Bool a /=! b = null $ a `intersection` b -- | For all @x@ in @X@, @y@ in @Y@. @x '>=' y@?-(>=!) :: Real r => Interval r -> Interval r -> Bool+(>=!) :: Ord r => Interval r -> Interval r -> Bool (>=!) = flip (<=!) -- | For all @x@ in @X@, @y@ in @Y@. @x '>' y@?-(>!) :: Real r => Interval r -> Interval r -> Bool+(>!) :: Ord r => Interval r -> Interval r -> Bool (>!) = flip (<!) -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '<' y@?-(<?) :: Real r => Interval r -> Interval r -> Bool+(<?) :: Ord r => Interval r -> Interval r -> Bool a <? b = lb_a < ub_b where lb_a = lowerBound a@@ -442,8 +442,8 @@ return (x,y) -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '<=' y@?-(<=?) :: Real r => Interval r -> Interval r -> Bool-a <=? b =+(<=?) :: Ord r => Interval r -> Interval r -> Bool+a <=? b = case lb_a `compare` ub_b of LT -> True GT -> False@@ -460,7 +460,7 @@ -- -- Since 1.0.0 (<=??) :: (Real r, Fractional r) => Interval r -> Interval r -> Maybe (r,r)-a <=?? b = do+a <=?? b = do case pickup (intersection a b) of Just x -> return (x,x) Nothing -> do@@ -472,7 +472,7 @@ -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '==' y@? -- -- Since 1.0.0-(==?) :: Real r => Interval r -> Interval r -> Bool+(==?) :: Ord r => Interval r -> Interval r -> Bool a ==? b = not $ null $ intersection a b -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '==' y@?@@ -486,7 +486,7 @@ -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '/=' y@? -- -- Since 1.0.1-(/=?) :: Real r => Interval r -> Interval r -> Bool+(/=?) :: Ord r => Interval r -> Interval r -> Bool a /=? b = not (null a) && not (null b) && not (a == b && isSingleton a) -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '/=' y@?@@ -507,11 +507,11 @@ return (x,y) -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '>=' y@?-(>=?) :: Real r => Interval r -> Interval r -> Bool+(>=?) :: Ord r => Interval r -> Interval r -> Bool (>=?) = flip (<=?) -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '>' y@?-(>?) :: Real r => Interval r -> Interval r -> Bool+(>?) :: Ord r => Interval r -> Interval r -> Bool (>?) = flip (<?) -- | Does there exist an @x@ in @X@, @y@ in @Y@ such that @x '>=' y@?