Îõ³h$blá      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` (c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimental Trustworthy./>ÀÆÇÉÖ×Ùìtypenums1This type represents unknown type-level integers.typenumsòThis class gives the (value-level) integer associated with a type-level integer. There are instances of this class for every concrete natural: 0, 1, 2, etc. There are also instances of this class for every negated natural, such as  1.typenums'(Kind) An integer that may be negative.typenums2Get the value associated with a type-level integertypenumsáGet the value associated with a type-level integer. The difference between this function and  is that it takes a aÍ parameter, which has zero runtime representation and so is entirely free. typenums6Convert an integer into an unknown type-level integer.   Safe./ÆÉÖ×Ùp(typenumsType constructor for a rational()Safe -./ÉÖט*typenumsÀThe floor of the logarithm of a type-level number NB. unlike b, Log n 0 here is a type error.+typenums3Round a type-level number towards positive infinity,typenums3Round a type-level number towards negative infinity-typenums&Round a type-level number towards zero.typenums3Exponentiation of a type-level number by an integer/typenums4Reduce a type-level rational into its canonical form0typenums4The least common multiple of two type-level integers1typenums6The greatest common divisor of two type-level integers2typenums)The absolute value of a type-level number3typenumsÉThe remainder of the result of dividing an integer by a natural number4typenumsÌThe integer part of the result of dividing an integer by a natural number5typenumsêThe remainder of a type-level integer and a natural number For a negative number, behaves similarly to c. @since 0.1.46typenums:The quotient of a type-level integer and a natural number.7typenumsªThe quotient and remainder of a type-level integer and a natural number. For a negative dividend, the remainder part is negative such that x = q*y + r @since 0.1.48typenumsªThe quotient and remainder of a type-level integer and a natural number. For a negative dividend, the remainder part is positive such that x = q*y + r @since 0.1.49typenumsThe result of negating a :typenums.The result of dividing two type-level numbers.;typenums%The reciprocal of a type-level number<typenums%The product of two type-level numbers=typenums(The difference of two type-level numbers#For the difference of two naturals a and b, a-b* is also a natural, so only exists for a >= b. @since 0.1.2>typenums"The sum of two type-level numbers.?typenums"The kind of the result of negation@typenums3The kind of the result of type-level exponentiationAtypenums6The kind of the result of division by a natural numberBtypenums)The kind of the result of multiplication.Ctypenums&The kind of the result of subtraction.Dtypenums#The kind of the result of addition.*+,-./0123456789:;<=>?@ABCDDCBA@?29;/-,+>=<:87654310.*37475767Safe -./ÉÖ×óEtypenumsNot-equal constraintFtypenums"Equality constraint, used as e.g.  (x == 3) => _GtypenumsBoolean type-level not-equals.Htypenums/Boolean type-level equals. Useful for e.g.   (x ==? 0)EFGHE4F4G4H4(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimental Trustworthy./>?ÀÆÇÉÖ×ÙìItypenums1This type represents unknown type-level integers.Ktypenums½This class gives the (value-level) rational associated with a type-level rational. There are instances of this class for every combination of a concrete integer and concrete natural.Ltypenums3Get the value associated with a type-level rationalMtypenumsâGet the value associated with a type-level rational. The difference between this function and L is that it takes a aÍ parameter, which has zero runtime representation and so is entirely free.Ntypenums7Convert a rational into an unknown type-level rational.()IJKLMN()KLMIJN Safe./ÉÖ×ÞVtypenumsÎThe floor of the logarithm base 2 of a type-level number. Note that unlike   , this errors on Log2 0.Wtypenums5A type-level number raised to an integer power. For Nat: powers, the result kind is the same as the base. For TInt powers, the result kind is Rat.Xtypenums#The ratio of two type-level numbersYtypenums&The product of two type-level numbers.¹Due to changes in GHC 8.6, using this operator infix and unqualified requires the NoStarIsType language extension to be active. See the GHC 8.6.x migration guide for details: 3https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6Ztypenums(The difference of two type-level numbers#For the difference of two naturals a and b, a-b* is also a natural, so only exists for a >= b.[typenums!The sum of two type-level numbers*+,-/0123456789;VWXYZ[W8X7Y7Z6[6 Safe -./ÉÖ×x`typenums,Boolean comparison of two type-level numbers\]^_`\4]4^4_4`4(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimentalSafe×6  ()*+,-/123456789;EFGHIJKLMNVWXYZ[\]^_`6  ()KLMIJN/HGFE`_^]\29;,+-[ZYXW8765431*V(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimentalSafe×ØÇ   ()*+,-/123456789;EFGHIJKLMNVWXYZ[\]^_`Ç  ()KLMIJN/HG`FE_^]\29;,+-[ZYXW8765431*V  ä             ! " # $ $ %&''(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXXYZ[\]^_`abc  d e f g h i j k l mno pqò%typenums-0.1.4-HlJPNNyBqoJ5oabeg0FjWp Data.TypeNums Data.TypeLitsData.TypeNums.IntsData.TypeNums.Rats!Data.TypeNums.Arithmetic.InternalData.TypeNums.Rats.TypeData.TypeNums.EqualityData.Type.BoolIfData.TypeNums.Arithmetic GHC.TypeLitsLog2Data.TypeNums.Comparisonbase GHC.TypeNatsKnownNat KnownSymbolghc-prim GHC.TypesNatSymbol CmpSymbol TypeError AppendSymbolText:<>::$$:ShowType sameSymbol someSymbolVal someNatVal symbolVal'natVal' symbolValnatVal SomeSymbol ErrorMessagesameNatSomeNatSomeIntKnownIntTIntPosNegintValintVal' someIntVal$fKnownIntTIntNeg$fKnownIntTIntPos$fKnownIntNatn $fReadSomeInt $fShowSomeInt $fOrdSomeInt $fEqSomeIntRat:%IntLogCeilingFloorTruncateExpSimplifyLCMGCDAbsRemQuotModDivQuotRemDivModNegateRatDivRecipMulSubAddNegKExpKIntDivKMulKSubKAddK/===/=?==?SomeRatKnownRatratValratVal' someRatVal $fKnownRatkn$fKnownRatRat:%$fKnownRatRat:%0 $fReadSomeRat $fShowSomeRat $fOrdSomeRat $fEqSomeRat^/*-+>>=<<=<=?GHC.PrimProxy#GHC.Realmod