,*<     non-portable (GHC extensions) experimental1Daniel Fischer <daniel.is.fischer@googlemail.com> non-portable (GHC extensions) experimentalDaniel FischerA duplicate of the  class. newtype wrapper for . The  (and  ) instance 9 displays numbers rounded to seven significant digits. newtype wrapper for . The  (and  ) instance 9 displays numbers rounded to seven significant digits. 2Class for specifying display parameters. The type a 7 is supposed to be an IEEE-ish (real) floating-point < type with floating-point radix 2, such that the mantissa  returned by   satisfies    2^(  x) <= ! (  x) < 2^(  x + 1) for x > 0, so   x = " x - 1. C The number of decimal digits that may be required is calculated  with the formula      x = 2 + # (" x * $ 10 2). 4The default implementation uses an approximation of  $ 10 2# sufficient for mantissae of up to 3 several thousand bits. Nevertheless, hardcoding 1 the values in instance declarations may yield  better performance. 3The number of decimal digits that may be needed to & uniquely determine a value of type a. 1 For faster conversions which need not satisfy    x == % ( x) a smaller value can be given. 1The base 2 logarithm of the mantissa returned by    x for x > 0. Same as &, but using an  instance. Show a signed  value to full precision I using standard decimal notation for arguments whose absolute value lies  between 0.1 and  9,999,999%, and scientific notation otherwise.  Analogous to  showFloat from  GHC.Float. Show a signed  value / using scientific (exponential) notation (e.g. 2.45e2, 1.5e-3).  In the call   digs val, if digs is ', * the value is shown to full precision; if digs is ( d,  then ) 1 d+ digits after the decimal point are shown.  Analogous to  showEFloat from Numeric. Show a signed  value ' using standard decimal notation (e.g. 245000, 0.0015).  In the call  digs val, if digs is ', * the value is shown to full precision; if digs is ( d,  then ) 0 d+ digits after the decimal point are shown.  Analogous to  showFFloat from Numeric. Show a signed  value I using standard decimal notation for arguments whose absolute value lies  between 0.1 and  9,999,999%, and scientific notation otherwise.  In the call  digs val, if digs is ', * the value is shown to full precision; if digs is ( d,  then ) 1 d+ digits after the decimal point are shown.  Analogous to  showGFloat from Numeric. *+,    -      !"#$%#$& '( )* '+ ,- '. /0 !1 23 24 56789: floatshow-0.1Text.FShow.RealFloatText.FShow.RealFloat.InternalsFShowfshow fshowsPrec fshowListFloat7F7Double7D7 DispFloat decDigitsbinExpfshows fshowFloat fshowEFloat fshowFFloat fshowGFloati2D posToDigitsexpt5expt10maxEx5maxEx10expts5expts10integerToDigitsFFFormat FFGenericFFFixed FFExponentbaseGHC.ShowShowghc-prim GHC.TypesFloatDouble GHC.Float decodeFloat Data.Tuplefst floatDigitsGHC.RealfloorlogBase Text.Readreadshows Data.MaybeNothingJust GHC.Classesmax formatFloatroundToSroundTo