data-interval

Interval datatype, interval arithmetic and interval-based containers

LTS Haskell 22.43:2.1.2@rev:1
Stackage Nightly 2024-11-24:2.1.2@rev:1
Latest on Hackage:2.1.2@rev:1

See all snapshots data-interval appears in

BSD-3-Clause licensed by Masahiro Sakai ([email protected])
Maintained by [email protected]
This version can be pinned in stack with:data-interval-2.1.2@sha256:a3bbe77211cb8c0386df87c060d9800e3052c2431d9f8cab23c393289835f4ac,2650

data-interval

Build Status (GitHub Actions) Hackage Hackage Deps Coverage Status License

Interval datatype, interval arithmetic, and interval-based containers for Haskell.

Unlike the intervals package, this package provides both open and closed intervals and is intended to be used with Rational.

Changes

2.1.2

  • fix Data.IntegerInterval.width (#38, thanks to ncfavier)
  • add Data.IntegerInterval.memberCount (#44, thanks to ncfavier)
  • add instance Ord for Interval, IntervalSet and IntervalMap (#41, thanks to googleson78)
  • fix Data.IntervalSet.insert (#43)

2.1.1

  • fix boundary comparison in relate (#30, thanks to marcosh)
  • fix behaviour of lattices flag

2.1.0

  • introduce operations for Allen’s interval algebra (#18, thanks to marcosh)
  • make recip precise when 0 is not an interior point (#21)
  • add instance Storable for Interval (#25)
  • add instance Floating for Interval (#26)

2.0.0

  • change internal representation of Interval and IntegerInterval to reduce memory footprint (#7, thanks Bodigrim)
  • introduce Boundary type (#10, thanks Bodigrim)
  • export isSingleton function for Interval and IntegerInterval (#13)
  • remove deprecated EndPoint data type (#14, thanks Bodigrim)

1.3.1

  • support lattices-2.0 (Thanks to Bodigrim).
  • move definitions of Interval and IntegerInterval data types into internal modules and abstract away representations from the rest of modules (Thanks to Bodigrim).

1.3.0

  • add Data.IntervalSet, Data.IntervalMap.Lazy, Data.IntervalMap.Strict modules
  • add new function mapMonotonic to Data.Interval and Data.IntegerInterval
  • add new function isConnected to Data.Interval.

1.2.0

  • add Data.IntegerInterval
  • use extended-reals >=0.2
  • EndPoint is deprecated. Use Extended instead.

1.1.1

  • remove unnecessary Real constraint from comparison operators.

1.1.0

  • remove unnecessary Num constraint from bunch of constructors and operations: interval, (<=..<=), (<..<=), (<=..<), (<..<), whole, empty, singleton, intersection, intersections, hull, hulls. Thanks to Tad Doxsee for pointing out that.

1.0.0

  • use extended-reals package for representing endpoints
  • add (experimental) comparison operators that produce witnesses: (<??), (<=??), (==??), (>=??), (>??)

0.6.0

  • add hulls, intersections :: (Num r, Ord r) => [Interval r] -> Interval r
  • fix a bug of (<=?) operator

0.5.0

  • fix dependency issue with QuickCheck and test-framework-quickcheck2

0.4.0

  • add simplestRationalWithin :: RealFrac r => Interval r -> Maybe Rational