f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ portablestableclaude@mathr.co.ukNoneL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL%&$'#(")!* +,-./0123456789:;<= > ? @ A BCDEFGHIJKL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK None BangPatternsunstableclaude@mathr.co.uk Safe-InferredL@Special values implemented using basic RealFloat functionality. M@Special values implemented using basic RealFloat functionality. N@Special values implemented using basic RealFloat functionality. O@Special values implemented using basic RealFloat functionality. P@Special values implemented using basic RealFloat functionality. QConvert between generic  types more efficiently than  .. Tries hard to preserve special values like > infinities and negative zero, but any NaN payload is lost. )Uses only basic RealFloat functionality. R)Check if two numbers have the same sign. 5 May give a nonsense result if an argument is NaN. SApproximate equality.   (a =~= b) c7 when adding the difference to the larger in magnitude  changes at most c" least significant mantissa bits. )Uses only basic RealFloat functionality. TBCompute a reciprocal using the Newton-Raphson division algorithm,  as described in   Shttp://en.wikipedia.org/wiki/Division_%28digital%29#Newton.E2.80.93Raphson_division. )Uses only basic RealFloat functionality. U"Compute a square root using Newton' s method. 'Uses basic RealFloat functionality and '(/)'. V+Compute an exponential using power series. $Uses basic RealFloat functionality, '(/)' and . WCompute a logarithm. See Z for algorithmic references. $Uses basic RealFloat functionality,  and . XCompute log 2. See Z for algorithmic references. $Uses basic RealFloat functionality,  and . Y8Compute a logarithm using decomposition and a value for log 2. See Z for algorithmic references. $Uses basic RealFloat functionality, , and . Z@Compute a logarithm for a value in [0.5,1) using the AGM method  as described in section 7 of  The Logarithmic Constant: log 2 2 Xavier Gourdon and Pascal Sebah, May 18, 2010,   9http://numbers.computation.free.fr/Constants/Log2/log2.ps. !The precondition is not checked. $Uses basic RealFloat functionality, , and . [6Compute pi using the method described in section 8 of  \Multiple-precision zero-finding methods and the complexity of elementary function evaluation 1 Richard P Brent, 1975 (revised May 30, 2010),   http://arxiv.org/abs/1004.3412. $Uses basic RealFloat functionality, '(/)', and . \Compute , using the method described in section 3 of  ?Efficient multiple-precision evaluation of elementary functions  David M Smith, 1989,   )http://digitalcommons.lmu.edu/math_fac/1/ Requires a value for pi. $Uses basic RealFloat functionality, '(/)' , and sqrt. ]'Lift a function from Double to generic  types. LMNOPQRST accuracy U accuracy V accuracy W accuracy X accuracy Y accuracy log 2 Z accuracy value in [0.5,1) [ accuracy \ accuracy pi x ]LMNOPQRSTUVWXYZ[\]Q]STUVWYXZ[\LMNOPRLMNOPQRSTUVWXYZ[\]portableunstableclaude@mathr.co.ukNone ^-A class for types with adjustable precision.  Minimal complete definition: _. _?Adjust the precision of a value preserving as much accuracy as  possible. `"A class for types with precision. D The methods must not evaluate their arguments, and their results  must not be evaluated. ( Minimal complete definition: (none). b Much like  combined with a. c Much like  with a restricted type. d Much like  with a restricted type.  Precedence between  and . e An alias for d.  Precedence between  and . f Synonym for _. g Much like _ combined with c. h Much like g combined with a.  Precedence between  and . i An alias for h.  Precedence between  and . ^_`abcdefghi^_`abcdefghi `abcde^_fghi ^_`abcdefghi Rank2Typesunstableclaude@mathr.co.ukNonej2Reify a precision from value-level to type-level. k Much like j combined with g. l An alias for k. jkoriginal value new precision  operation loriginal value new precision  operation jkljkljkl<BangPatterns, DeriveDataTypeable, Rank2Types, MonoLocalBindsunstableclaude@mathr.co.ukNonem=A concrete format suitable for storage or wire transmission. q>A software implementation of fixed point arithmetic, using an   adjusted to p bits after the binary point. r Freeze a q. sThaw a m. Results in  on precision mismatch. tThaw a m to its natural precision. mnopqrstmnopqrstqmnoprstmnopqrst,BangPatterns, DeriveDataTypeable, Rank2Typesunstableclaude@mathr.co.ukNone u=A concrete format suitable for storage or wire transmission. ~A selection of norms. GA software implementation of floating point arithmetic, using a strict  pair of  and , scaled similarly to , along ( with additional values representing:  positive infinity (1/0),  negative infinity (-1/0),  not a number (0/0). The 1 instance so far only implements algorithms for:  ,  ,  ,  ,  , , . These  methods transit via  and so have limited  precision:  , , ,  , ,  ,   ,  ,  .  6 is arbitrarily limited to mitigate the problems that C occur when enormous integers might be needed during some number D type conversions (worst case consequence: program abort in gmp). ;A measure of meaningful precision in the difference of two  finite non-zero values. :Values of very different magnitude have little meaningful  difference, because a + b approxEq a when  |a| >> |b|. 5Very close values have little meaningful difference,  because  a + (a - b) approxEq a as |a| >> |a - b|.  attempts to quantify this.  Much like  combined with .  An alias for .  Freeze a . Thaw a u. Results in  on precision mismatch. Thaw a u to its natural precision. Thaw a u$ without guaranteeing a well-formed  value.  Possibly slightly faster. 3uvwxyz{|}~norm  !"#$%&'()*+uvwxyz{|}~~uzyxwv{|}{{{{"u zyxwv{|}{{{{~ !"#$%&'()*+DeriveDataTypeable, GeneralizedNewtypeDeriving, StandaloneDeriving, FlexibleInstances, FlexibleContexts, MultiParamTypeClasses, Rank2Types, UndecidableInstancesunstableclaude@mathr.co.ukNone Newtype wrapper around ," so that instances can be written  for ` and ^. Convert  to ,. Convert , to . Lift an operation on    to one on .  Much like  mapComplex Q.  Much like   scaleComplex'.  Much like  mapComplex -.  Freeze a 'VComplex VFloat'.  Freeze a 'VComplex VFixed'. Thaw a 'Complex DFloat'. Results in  on precision mismatch. Thaw a 'Complex DFixed'. Results in  on precision mismatch. Thaw a 'Complex DFloat' to its natural precision.  is passed on 8 precision mismatch between real and imaginary parts. Thaw a 'Complex DFixed' to its natural precision.  is passed on 8 precision mismatch between real and imaginary parts. "./0123456789:;<=>?@AB%CDE,FGHIJKLMNOPQRSTUVWXY ./0123456789:;<=>?@ABportableunstableclaude@mathr.co.ukNone,Convert to a Float from the same precision. ,Convert from a Float to the same precision. -Convert to a Double from the same precision. -Convert from a Double to the same precision. ,Convert to a Float from the same precision. ,Convert from a Float to the same precision. -Convert to a Double from the same precision. -Convert from a Double to the same precision. ESZ[ %&.6>FKEE portableunstableclaude@mathr.co.ukNoneCDE,FGHIJKLMNOPQRSTUVWXYZ[ %&.6>FKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzz{|}~        !"#$%&'()*+,-./0123456789:;<=>?@AB CDEFGHIJKLMNOPQRSTUVWXABYABZAB[A\]A\^A\_A\`A\aA\bA\cA\dA\eA\fA\gA\hA\iA\jA\kA\lA\mA\nA\oA\pqrsvariable-precision-0.4$TypeLevel.NaturalNumber.ExtraNumbers$Numeric.VariablePrecision.Algorithms#Numeric.VariablePrecision.Precision)Numeric.VariablePrecision.Precision.ReifyNumeric.VariablePrecision.FixedNumeric.VariablePrecision.Float!Numeric.VariablePrecision.Complex!Numeric.VariablePrecision.Aliases+Numeric.VariablePrecision.Integer.LogarithmXComplexNumeric.VariablePrecisionN53N52N51N50N49N48N47N46N45N44N43N42N41N40N39N38N37N36N35N34N33N32N31N30N29N28N27N26N25N24N23N22N21N20N19N18N17N16n16n17n18n19n20n21n22n23n24n25n26n27n28n29n30n31n32n33n34n35n36n37n38n39n40n41n42n43n44n45n46n47n48n49n50n51n52n53genericPositiveZerogenericNegativeZerogenericPositiveInfinitygenericNegativeInfinitygenericNotANumber recodeFloatsameSign=~= genericRecip genericSqrt genericExp genericLog genericLog2 genericLog' genericLog'' genericPi genericSin viaDoubleVariablePrecisionadjustPrecision HasPrecision precisionOf precision atPrecision atPrecisionOf.@auto withPrecisionwithPrecisionOf.@~reifyPrecisionwithReifiedPrecision.@$DFixed dxPrecision dxMantissaVFixedtoDFixed fromDFixed withDFixedDFloat DNotANumberDNegativeInfinityDPositiveInfinityDZero dPrecision dMantissa dExponentNormednorm1norm2 norm2Squared normInfinityVFloateffectivePrecisionWitheffectivePrecision-@?toDFloat fromDFloat withDFloatVComplex toComplex fromComplex withComplex recodeComplex scaleVComplex scaleComplextoComplexDFloattoComplexDFixedfromComplexDFloatfromComplexDFixedwithComplexDFloatwithComplexDFixedCX53CX48CX40CX32CX24CX16CX8CF53CF48CF40CF32CF24CF16CF8X53X48X40X32X24X16X8F53F48F40F32F24F16F8CXCFCFtoFloat fromFloattoDouble fromDoubletoComplexFloatfromComplexFloattoComplexDoublefromComplexDoublef8f16f24f32f40f48f53x8x16x24x32x40x48x53cf8cf16cf24cf32cf40cf48cf53cx8cx16cx24cx32cx40cx48cx53 integerLog2base GHC.Float RealFloatGHC.Real realToFracrecipsqrtsinsum'type-level-natural-number-1.1.1TypeLevel.NaturalNumbernaturalNumberAsIntGHC.Baseconstghc-prim GHC.Classes<GHC.Num+ GHC.TypesWord successorTon0Zero SuccessorTo NaturalNumber integer-gmpGHC.Integer.TypeInteger Data.MaybeNothing$fRealFracVFixed $fRealVFixed$fFractionalVFixed $fNumVFixed $fOrdVFixed $fEqVFixed $fReadVFixed $fShowVFixed$fBinDecodeVFixed$fVariablePrecisionVFixed$fHasPrecisionVFixedInt decodeFloatFloatingpiexplogcostanDoubleasinacosatansinhcoshtanhasinhacoshatanh floatRangeunsafeWithDFloatFNaNFNegInfFPosInfFZero encodeVFloatminimumExponentmaximumExponentasTypeIn asTypeOut asTypeOut2shift checkVFloat unreachable$fNormedVFloat$fFloatingVFloat$fRealFloatVFloat$fRealFracVFloat$fFractionalVFloat $fRealVFloat $fNumVFloat $fOrdVFloat $fEqVFloat$fVariablePrecisionVFloat$fHasPrecisionVFloat $fReadVFloat $fShowVFloat $fFShowVFloat$fDispFloatVFloatcomplex-generic-0.1.1Data.Complex.Generic scaleFloat FromComplex$fReadVComplex$fReadVComplex0$fShowVComplex$fShowVComplex0$fNormedVComplex$fVariablePrecisionVComplex$fVariablePrecisionVComplex0$fHasPrecisionVComplex$fHasPrecisionVComplex0$fComplexPolarVComplexVFloat$fComplexRectVComplexVFixed$fComplexRectVComplexVFloat$fComplexPolarComplexVFloat$fComplexRectComplexVFixed$fComplexRectComplexVFloat$fFloatingComplex$fFractionalComplex$fFractionalComplex0 $fNumComplex $fNumComplex0fromDataComplex toDataComplex:+Data.Complex.Generic.Class.+/.*..*sqrmagnitudeSquared conjugateimagPartrealPartrectimagrealmkRect ComplexRectphase magnitudepolarcismkPolar ComplexPolarn8N8