!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ portablestableclaudiusmaximus@goto10.org Safe-InferedL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL%&$'#(")!* +,-./0123456789:;<= > ? @ A BCDEFGHIJKL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK  Safe-Infered BangPatternsunstableclaudiusmaximus@goto10.org Safe-InferedL@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 . \'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 \LMNOPQRSTUVWXYZ[\Q\STUVWYXZ[LPONMRLMNOPQRSTUVWXYZ[\portableunstableclaudiusmaximus@goto10.org Safe-Infered ]-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). a Much like  combined with `. b Much like  with a restricted type. c Much like  with a restricted type.  Precedence between  and . d An alias for c.  Precedence between  and . e Synonym for ^. f Much like ^ combined with b. g Much like f combined with `.  Precedence between  and . h An alias for g.  Precedence between  and . ]^_`abcdefgh]^_`abcdefgh _`abcd]^efgh ]^_`abcdefgh Rank2Typesunstableclaudiusmaximus@goto10.org Safe-Inferedi2Reify a precision from value-level to type-level. j Much like i combined with f. k An alias for j. ijoriginal value new precision  operation koriginal value new precision  operation ijkijkijk<BangPatterns, DeriveDataTypeable, Rank2Types, MonoLocalBindsunstableclaudiusmaximus@goto10.org Safe-Inferedl=A concrete format suitable for storage or wire transmission. p>A software implementation of fixed point arithmetic, using an   adjusted to p bits after the binary point. q Freeze a p. rThaw a l. Results in  on precision mismatch. sThaw a l to its natural precision. lmnopqrslmnopqrsplmnoqrslmnopqrs,BangPatterns, DeriveDataTypeable, Rank2Typesunstableclaudiusmaximus@goto10.org Safe-Infered t=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 t. Results in  on precision mismatch. Thaw a t to its natural precision. $tuvwxyz{|}~norm  tuvwxyz{|}~}~tyxwvuz{|zzzzt yxwvuz{|zzzz}~ :DeriveDataTypeable, GeneralizedNewtypeDeriving, Rank2Typesunstableclaudiusmaximus@goto10.orgNone=A concrete format suitable for storage or wire transmission. Newtype wrapper around  " so that instances can be written  for _ and ]. Convert  to  . Convert   to .  Alike to  3, constructs a complex number from a real part and  an imaginary part. Lift an operation on   to one on . Unit at phase. From polar form.  Conjugate. Imaginary part.  Real part. Phase.  Polar form.  Magnitude. Magnitude squared. 9Apply a function to both components of a complex number.  Much like  Q. Magnitude squared. Complex square. Complex square.  Much like  .  Much like   . Real-complex multiplication. Complex-real multiplication.  Freeze a . Thaw a . Results in  on precision mismatch. Thaw a  to its natural precision.  is passed on 8 precision mismatch between real and imaginary parts. #  portableunstableclaudiusmaximus@goto10.org Safe-Infered,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. $2 %&.6>FK$$ portableunstableclaudiusmaximus@goto10.org Safe-Infered %&.6>FKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwwxyz{|}~~       ! "#$%&'()*+variable-precision-0.2.1$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.LogarithmNumeric.VariablePrecisionN53N52N51N50N49N48N47N46N45N44N43N42N41N40N39N38N37N36N35N34N33N32N31N30N29N28N27N26N25N24N23N22N21N20N19N18N17N16n16n17n18n19n20n21n22n23n24n25n26n27n28n29n30n31n32n33n34n35n36n37n38n39n40n41n42n43n44n45n46n47n48n49n50n51n52n53genericPositiveZerogenericNegativeZerogenericPositiveInfinitygenericNegativeInfinitygenericNotANumber recodeFloatsameSign=~= genericRecip genericSqrt genericExp genericLog genericLog2 genericLog' genericLog'' genericPi viaDoubleVariablePrecisionadjustPrecision HasPrecision precisionOf precision atPrecision atPrecisionOf.@auto withPrecisionwithPrecisionOf.@~reifyPrecisionwithReifiedPrecision.@$DFixed dxPrecision dxMantissaVFixedtoDFixed fromDFixed withDFixedDFloat DNotANumberDNegativeInfinityDPositiveInfinityDZero dPrecision dMantissa dExponentNormednorm1norm2 norm2Squared normInfinityVFloateffectivePrecisionWitheffectivePrecision-@?toDFloat fromDFloat withDFloatDComplex dRealPart dImagPartVComplex toComplex fromComplex.+ withComplexcismkPolar conjugateimagPartrealPartphasepolar magnitude magnitude2 mapComplex recodeComplex magnitude2'sqrsqr' scaleComplex scaleComplex'.**. toDComplex fromDComplex withDComplexC53C48C40C32C24C16C8F53F48F40F32F24F16F8toFloat fromFloattoDouble fromDoubletoComplexFloatfromComplexFloattoComplexDoublefromComplexDoublef8f16f24f32f40f48f53c8c16c24c32c40c48c53 integerLog2base GHC.Float RealFloatGHC.Real realToFracrecipsqrttype-level-natural-number-1.1TypeLevel.NaturalNumbernaturalNumberAsIntGHC.Baseconstghc-prim GHC.Classes<GHC.Num+GHC.WordWord successorTon0Zero SuccessorTo NaturalNumber integer-gmpGHC.Integer.TypeInteger Data.MaybeNothing$fRealFracVFixed $fRealVFixed$fFractionalVFixed $fNumVFixed $fOrdVFixed $fEqVFixed $fReadVFixed $fShowVFixed$fBinDecodeVFixed$fVariablePrecisionVFixed$fHasPrecisionVFixed GHC.TypesInt decodeFloatFloatingpiexplogDoublesincostanasinacosatansinhcoshtanhasinhacoshatanh floatRange$fNormedVFloat$fFloatingVFloat$fRealFloatVFloat$fRealFracVFloat$fFractionalVFloat $fRealVFloat $fNumVFloat $fOrdVFloat $fEqVFloat$fVariablePrecisionVFloat$fHasPrecisionVFloat $fReadVFloat $fShowVFloat $fFShowVFloat$fDispFloatVFloat Data.ComplexComplex:+ scaleFloat$fReadVComplex$fShowVComplex$fNormedVComplex$fVariablePrecisionVComplex$fHasPrecisionVComplexn8N8