diff options
| author | Gregor Kleen <aethoago@141.li> | 2017-02-16 19:22:54 +0100 | 
|---|---|---|
| committer | Gregor Kleen <aethoago@141.li> | 2017-02-16 19:22:54 +0100 | 
| commit | c2f005b53fe23b8fc711a5822c50bf856e99ce1e (patch) | |
| tree | 489ace6aff1a19d3e489a20862588508c93687cb /lib/Postdelay/TimeSpec/Utils.hs | |
| parent | 4a558948bbb4cb73587c52d23201b3e1da2ff0ca (diff) | |
| download | postdelay-c2f005b53fe23b8fc711a5822c50bf856e99ce1e.tar postdelay-c2f005b53fe23b8fc711a5822c50bf856e99ce1e.tar.gz postdelay-c2f005b53fe23b8fc711a5822c50bf856e99ce1e.tar.bz2 postdelay-c2f005b53fe23b8fc711a5822c50bf856e99ce1e.tar.xz postdelay-c2f005b53fe23b8fc711a5822c50bf856e99ce1e.zip | |
Properly compute number of digits needed
Diffstat (limited to 'lib/Postdelay/TimeSpec/Utils.hs')
| -rw-r--r-- | lib/Postdelay/TimeSpec/Utils.hs | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/lib/Postdelay/TimeSpec/Utils.hs b/lib/Postdelay/TimeSpec/Utils.hs index c10fc4b..a8c7d4a 100644 --- a/lib/Postdelay/TimeSpec/Utils.hs +++ b/lib/Postdelay/TimeSpec/Utils.hs | |||
| @@ -74,7 +74,7 @@ boundedNatural padded (I.intersection (0 <=..< PosInf) -> bounds) = do | |||
| 74 | | otherwise = error "boundedNatural in undefined state" | 74 | | otherwise = error "boundedNatural in undefined state" | 
| 75 | 75 | ||
| 76 | minDigits, maxDigits :: Extended Int | 76 | minDigits, maxDigits :: Extended Int | 
| 77 | (minDigits, maxDigits) = ( fmap digits . I.lowerBound $ close bounds | 77 | (minDigits, maxDigits) = ( max 1 . fmap digits . I.lowerBound $ close bounds | 
| 78 | , fmap digits . I.upperBound $ close bounds | 78 | , fmap digits . I.upperBound $ close bounds | 
| 79 | ) | 79 | ) | 
| 80 | where | 80 | where | 
| @@ -84,7 +84,7 @@ boundedNatural padded (I.intersection (0 <=..< PosInf) -> bounds) = do | |||
| 84 | | otherwise = int | 84 | | otherwise = int | 
| 85 | 85 | ||
| 86 | digits :: n -> Int | 86 | digits :: n -> Int | 
| 87 | digits = ceiling . (logBase 10 :: Double -> Double) . realToFrac . abs | 87 | digits = succ . floor . (logBase 10 :: Double -> Double) . realToFrac . abs | 
| 88 | 88 | ||
| 89 | boundedRational :: forall s m n. (Show n, RealFrac n, StringParser s m) | 89 | boundedRational :: forall s m n. (Show n, RealFrac n, StringParser s m) | 
| 90 | => Bool -- ^ Require number to be padded with zeroes | 90 | => Bool -- ^ Require number to be padded with zeroes | 
