diff options
| -rw-r--r-- | libraries/base/Data/Fixed.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libraries/base/Data/Fixed.hs b/libraries/base/Data/Fixed.hs index b946d5edde..b3af208469 100644 --- a/libraries/base/Data/Fixed.hs +++ b/libraries/base/Data/Fixed.hs @@ -158,9 +158,10 @@ instance (HasResolution a) => Read (Fixed a) where convertFixed :: forall a . HasResolution a => Lexeme -> ReadPrec (Fixed a) convertFixed (Number n) - | Just (i, f) <- numberToFixed r n = - return (fromInteger i + (fromInteger f / (10 ^ r))) - where r = resolution (undefined :: Fixed a) + | Just (i, f) <- numberToFixed e n = + return (fromInteger i + (fromInteger f / fromInteger r)) + where r = resolution (undefined :: Fixed a) -- = 10^e + e = round (logBase 10 (fromInteger r) :: Double) convertFixed _ = pfail data E0 = E0 |
