h$fa`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe3 data-intervalThe intervals (i.e.. connected and convex subsets) over integers (Z). data-intervalLower endpoint (i.e.( greatest lower bound) of the interval. of the empty interval is .! of a left unbounded interval is .; of an interval may or may not be a member of the interval. data-intervalUpper endpoint (i.e.$ least upper bound) of the interval. of the empty interval is ." of a right unbounded interval is ., of an interval is a member of the interval. data-intervalclosed interval [l,u] data-intervalempty (contradicting) interval data-interval lower bound l data-interval upper bound u5Safe38 R data-intervalThe intervals (i.e.1 connected and convex subsets) over real numbers R. data-intervalBoundary of an interval may be open (excluding an endpoint) or closed (including an endpoint).  data-intervalLower endpoint (i.e.7 greatest lower bound) of the interval, together with  information. The result is convenient to use as an argument for  .  data-intervalUpper endpoint (i.e.4 least upper bound) of the interval, together with  information. The result is convenient to use as an argument for  .  data-intervalempty (contradicting) interval  data-intervalsmart constructor for   data-interval&lower bound and whether it is included data-interval&upper bound and whether it is included (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional5non-portable (CPP, DeriveDataTypeable, DeriveGeneric)Safe38W  data-intervalDescribes how two intervals x and y can be related. See  8https://en.wikipedia.org/wiki/Allen%27s_interval_algebraAllen's interval algebra and  http://marcosh.github.io/post/2020/05/04/intervals-and-their-relations.htmlIntervals and their relations. data-intervalAny element of x is smaller than any element of y, and intervals are not connected. In other words, there exists an element that is bigger than any element of x! and smaller than any element of y. data-intervalAny element of x is smaller than any element of y, but intervals are connected and non-empty. This implies that intersection of intervals is empty, and union is a single interval. data-intervalIntersection of x and y is non-empty, x! start and finishes earlier than y5. This implies that union is a single interval, and x finishes no earlier than y starts. data-intervalx is a proper subset of y, and they share lower bounds. data-intervalx is a proper subset of y1, but they share neither lower nor upper bounds. data-intervalx is a proper subset of y, and they share upper bounds. data-intervalIntervals are equal. data-interval Inverse of . data-interval Inverse of . data-interval Inverse of . data-interval Inverse of . data-interval Inverse of . data-interval Inverse of . data-intervalInverts a relation, such that  (  x y) =   y x  4(c) Masahiro Sakai 2011-2013, Andrew Lelechenko 2020 BSD-stylemasahiro.sakai@gmail.com provisional;non-portable (CPP, ScopedTypeVariables, DeriveDataTypeable)Safe&7.$ data-intervalLower endpoint (i.e.( greatest lower bound) of the interval.$ of the empty interval is .$! of a left unbounded interval is .$; of an interval may or may not be a member of the interval.% data-intervalUpper endpoint (i.e.$ least upper bound) of the interval.% of the empty interval is .%" of a right unbounded interval is .%; of an interval may or may not be a member of the interval.& data-intervalclosed interval [l,u]' data-interval!left-open right-closed interval (l,u]( data-interval!left-closed right-open interval [l, u)) data-intervalopen interval (l, u)* data-intervalwhole real number line (-D, D)+ data-intervalsingleton set [x,x], data-intervalintersection of two intervals- data-interval$intersection of a list of intervals. Since 0.6.0. data-intervalconvex hull of two intervals/ data-interval#convex hull of a list of intervals. Since 0.6.00 data-intervalIs the interval empty?1 data-intervalIs the interval single point?2 data-interval5If the interval is a single point, return this point.3 data-intervalIs the element in the interval?4 data-interval#Is the element not in the interval?5 data-intervalIs this a subset? (i1 `5` i2) tells whether i1 is a subset of i2.6 data-intervalIs this a proper subset? (i.e. a subset but not equal).7 data-interval1Does the union of two range form a connected set? Since 1.3.08 data-interval7Width of a interval. Width of an unbounded interval is  undefined.9 data-intervalpick up an element from the interval if the interval is not empty.: data-interval:: returns the simplest rational number within the interval.A rational number y is said to be simpler than another y' if ( y) <=  ( y'), and y <=  y'. (see also ) Since 0.4.0; data-intervalmapMonotonic f i is the image of i under f, where f must be a strict monotone function, preserving negative and positive infinities.< data-intervalFor all x in X, y in Y. x  y?= data-intervalFor all x in X, y in Y. x  y?> data-intervalFor all x in X, y in Y. x  y?? data-intervalFor all x in X, y in Y. x  y? Since 1.0.1@ data-intervalFor all x in X, y in Y. x  y?A data-intervalFor all x in X, y in Y. x  y?B data-intervalDoes there exist an x in X, y in Y such that x  y?C data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.0D data-intervalDoes there exist an x in X, y in Y such that x  y?E data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.0F data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.0G data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.0H data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.1I data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.1J data-intervalDoes there exist an x in X, y in Y such that x  y?K data-intervalDoes there exist an x in X, y in Y such that x  y?L data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.0M data-intervalDoes there exist an x in X, y in Y such that x  y? Since 1.0.0N data-interval8Computes how two intervals are related according to the   classificationO data-intervalWhen results of  or  do not form a connected interval, a convex hull is returned instead.P data-interval returns *) when 0 is an interior point. Otherwise recip (recip xs) equals to xs without 0.Q data-intervalWhen results of  or  do not form a connected interval, a convex hull is returned instead.& data-interval lower bound l data-interval upper bound u' data-interval lower bound l data-interval upper bound u( data-interval lower bound l data-interval upper bound u) data-interval lower bound l data-interval upper bound u: $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN3 &'()* +01234567$% 8<=>@A?BDFJKHCEGLMI,-./;9:N&5'5(5)5<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4(c) Masahiro Sakai 2011-2014 BSD-stylemasahiro.sakai@gmail.com provisional6non-portable (ScopedTypeVariables, DeriveDataTypeable)Safe39.T data-interval of the interval and whether it is included in the interval. The result is convenient to use as an argument for V.U data-interval of the interval and whether it is included in the interval. The result is convenient to use as an argument for V.V data-intervalsmart constructor for W data-interval!left-open right-closed interval (l,u]X data-interval!left-closed right-open interval [l, u)Y data-intervalopen interval (l, u)Z data-intervalwhole real number line (-D, D)[ data-intervalsingleton set [x,x]\ data-intervalintersection of two intervals] data-interval$intersection of a list of intervals.^ data-intervalconvex hull of two intervals_ data-interval#convex hull of a list of intervals.` data-intervalmapMonotonic f i is the image of i under f, where f$ must be a strict monotone function.a data-intervalIs the interval empty?b data-intervalIs the interval single point?c data-intervalIs the element in the interval?d data-interval#Is the element not in the interval?e data-intervalIs this a subset? (i1 `e` i2) tells whether i1 is a subset of i2.f data-intervalIs this a proper subset? (i.e. a subset but not equal).g data-intervalDoes the union of two range form a set which is the intersection between the integers and a connected real interval?h data-interval7Width of a interval. Width of an unbounded interval is  undefined.i data-intervalpick up an element from the interval if the interval is not empty.j data-intervalj: returns the simplest rational number within the interval. An integer y is said to be simpler than another y' if  y <=  y' (see also   and  )k data-intervalFor all x in X, y in Y. x  y?l data-intervalFor all x in X, y in Y. x  y?m data-intervalFor all x in X, y in Y. x  y?n data-intervalFor all x in X, y in Y. x  y?o data-intervalFor all x in X, y in Y. x  y?p data-intervalFor all x in X, y in Y. x  y?q data-intervalDoes there exist an x in X, y in Y such that x  y?r data-intervalDoes there exist an x in X, y in Y such that x  y?s data-intervalDoes there exist an x in X, y in Y such that x  y?t data-intervalDoes there exist an x in X, y in Y such that x  y?u data-intervalDoes there exist an x in X, y in Y such that x  y?v data-intervalDoes there exist an x in X, y in Y such that x  y?w data-intervalDoes there exist an x in X, y in Y such that x  y?x data-intervalDoes there exist an x in X, y in Y such that x  y?y data-intervalDoes there exist an x in X, y in Y such that x  y?z data-intervalDoes there exist an x in X, y in Y such that x  y?{ data-intervalDoes there exist an x in X, y in Y such that x  y?| data-intervalDoes there exist an x in X, y in Y such that x  y?} data-intervalConvert the interval to  data type.~ data-intervalConversion from  data type. data-intervalGiven a  I over R, compute the smallest  J such that I E J. data-intervalGiven a  I over R, compute the largest  J such that J E I. data-interval8Computes how two intervals are related according to the   classificationV data-interval&lower bound and whether it is included data-interval&upper bound and whether it is includedW data-interval lower bound l data-interval upper bound uX data-interval lower bound l data-interval upper bound uY data-interval lower bound l data-interval upper bound u=TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6VWXYZ[abcdefgTUhklmopnqsuyzwrtv{|x\]^_`ij}~W5X5Y5k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisionalnon-portable (CPP, ScopedTypeVariables, TypeFamilies, DeriveDataTypeable, MultiWayIf) Trustworthy 3B data-interval)A set comprising zero or more non-empty,  disconnected intervals.Any connected intervals are merged together, and empty intervals are ignored. data-intervalwhole real number line (-D, D) data-intervalempty interval set data-intervalsingle interval data-intervalIs the interval set empty? data-interval#Is the element in the interval set? data-interval'Is the element not in the interval set? data-intervalIs this a subset? (is1 `` is2) tells whether is1 is a subset of is2. data-intervalIs this a proper subset? (i.e. a subset but not equal). data-interval"convex hull of a set of intervals. data-intervalComplement the interval set. data-interval,Insert a new interval into the interval set. data-interval)Delete an interval from the interval set. data-intervalunion of two interval sets data-interval union of a list of interval sets data-interval!intersection of two interval sets data-interval'intersection of a list of interval sets data-intervaldifference of two interval sets data-interval.Build a interval set from a list of intervals. data-interval2Build a map from an ascending list of intervals.  The precondition is not checked. data-interval0Convert a interval set into a list of intervals. data-intervalConvert a interval set into a list of intervals in ascending order. data-intervalConvert a interval set into a list of intervals in descending order. data-interval recip (recip xs) == delete 0 xs(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisionalnon-portable (CPP, ScopedTypeVariables, TypeFamilies, DeriveDataTypeable, MultiWayIf, GeneralizedNewtypeDeriving) Trustworthy 3W* data-intervalReturn all keys of the map in ascending order. Subject to list data-interval An alias for . Return all key/value pairs in the map in ascending key order. data-intervalThe set of all keys of the map. data-interval-Convert the map to a list of key/value pairs. data-intervalConvert the map to a list of key/value pairs where the keys are in ascending order. data-intervalConvert the map to a list of key/value pairs where the keys are in descending order. data-intervalBuild a map from a list of key/value pairs. If the list contains more than one value for the same key, the last value for the key is retained. data-intervalBuild a map from a list of key/value pairs with a combining function. data-interval.Filter all values that satisfy some predicate. data-intervalThe expression ( i map) is a triple (map1,map2,map3) where the keys in map1 are smaller than i, the keys in map2 are included in i, and the keys in map3 are larger than i. data-intervalThis function is defined as ( =  (==)). data-intervalThe expression ( f t1 t2 ) returns  if all keys in t1 are in tree t2 , and when f returns * when applied to their respective values. data-intervalIs this a proper submap? (ie. a submap but not equal). Defined as ( =  (==)). data-intervalIs this a proper submap? (ie. a submap but not equal). The expression ( f m1 m2 ) returns  when m1 and m2 are not equal, all keys in m1 are in m2 , and when f returns * when applied to their respective values.29 9 (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional*non-portable (BangPatterns, TupleSections)Safe_  data-interval(The map that maps whole range of k to a. data-intervalA map with a single interval. data-intervalinsert a new key and value in the map. If the key is already present in the map, the associated value is replaced with the supplied value. data-interval?@ABC DEFGHIJKLMNOPQRSTUV WXYZ[123456789D:;=>?@ABC\EFGHIJKLMNOPQRSTUV]^_` abcd45:=>?@efghij67klmnopqrstuvwxyz{|}~:=>e45ghijk6nopl45gl |*data-interval-2.1.1-HcxMdcfOygyGLrSa5W8rgQData.IntegerInterval Data.IntervalData.IntervalRelationData.IntervalSetData.IntervalMap.StrictData.IntervalMap.LazyData.IntegerInterval.InternalData.Interval.Internalrelate Data.RatioapproxRationalIntervalsimplestRationalWithinData.IntervalMap.BaseIntegerInterval lowerBound upperBound<=..<=emptyBoundaryOpenClosed lowerBound' upperBound'intervalRelationBefore JustBeforeOverlapsStartsDuringFinishesEqual FinishedByContains StartedBy OverlappedBy JustAfterAfterinvert $fEqRelation $fOrdRelation$fEnumRelation$fBoundedRelation$fShowRelation$fReadRelation$fGenericRelation$fDataRelation<..<=<=..<<..<whole singleton intersection intersectionshullhullsnull isSingletonextractSingletonmember notMember isSubsetOfisProperSubsetOf isConnectedwidthpickup mapMonotonic=!>!=?>?>=??>??$fFloatingInterval$fFractionalInterval $fNumInterval$fReadInterval$fShowIntervalsimplestIntegerWithin toInterval fromIntervalfromIntervalOverfromIntervalUnder$fNumIntegerInterval$fReadIntegerInterval$fShowIntegerInterval IntervalSetspan complementinsertdeleteunionunions differencefromList fromAscListtoList toAscList toDescList$fIsListIntervalSet$fFractionalIntervalSet$fNumIntervalSet$fSemigroupIntervalSet$fMonoidIntervalSet$fHashableIntervalSet$fNFDataIntervalSet$fDataIntervalSet$fReadIntervalSet$fShowIntervalSet$fEqIntervalSet IntervalMap!\\lookupfindWithDefault insertWithadjustupdatealter unionWith unionsWithintersectionWithmapmapKeysMonotonicelemskeysassocskeysSet fromListWithfiltersplit isSubmapOf isSubmapOfByisProperSubmapOfisProperSubmapOfBy-extended-reals-0.2.4.0-D3967M6UN3HJxeRJ97t7zqData.ExtendedRealPosInfNegInfbaseGHC.NumabsGHC.Real numerator denominatorghc-prim GHC.Classes<<===/=>=> GHC.Floattan**recipsignum isInfiniteisFiniteinfExtendedFiniteGHC.Errerror GHC.MaybeJustNothing Data.Foldablefoldl GHC.TypesTrue