sign ++ padded
where
fmt' :: Int -> String
- fmt' n
- | n < base = (intToChar upperCase n) : []
- | otherwise = (intToChar upperCase $! n `mod` base) : fmt' (n `div` base)
+ fmt' m
+ | m < base = [intToChar upperCase m]
+ | otherwise = (intToChar upperCase $! m `mod` base) : fmt' (m `div` base)
fmtDec :: Int -> Int -> String
fmtDec2 :: Int -> String
fmtDec2 n
| n < 0 || n >= 100 = fmtInt 10 undefined 2 '0' False n -- fallback
- | n < 10 = '0'
- : intToChar undefined n
- : []
- | otherwise = intToChar undefined (n `div` 10)
- : intToChar undefined (n `mod` 10)
- : []
+ | n < 10 = [ '0'
+ , intToChar undefined n
+ ]
+ | otherwise = [ intToChar undefined (n `div` 10)
+ , intToChar undefined (n `mod` 10)
+ ]
fmtDec3 :: Int -> String
fmtDec3 n
| n < 0 || n >= 1000 = fmtInt 10 undefined 3 '0' False n -- fallback
- | n < 10 = '0' : '0'
- : intToChar undefined n
- : []
- | n < 100 = '0'
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
- | otherwise = intToChar undefined ((n `div` 100) `mod` 10)
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
+ | n < 10 = [ '0'
+ , '0'
+ , intToChar undefined n
+ ]
+ | n < 100 = [ '0'
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
+ | otherwise = [ intToChar undefined ((n `div` 100) `mod` 10)
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
fmtDec4 :: Int -> String
fmtDec4 n
| n < 0 || n >= 10000 = fmtInt 10 undefined 4 '0' False n -- fallback
- | n < 10 = '0' : '0' : '0'
- : intToChar undefined n
- : []
- | n < 100 = '0' : '0'
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
- | n < 1000 = '0'
- : intToChar undefined ((n `div` 100) `mod` 10)
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
- | otherwise = intToChar undefined ((n `div` 1000) `mod` 10)
- : intToChar undefined ((n `div` 100) `mod` 10)
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
+ | n < 10 = [ '0'
+ , '0'
+ , '0'
+ , intToChar undefined n
+ ]
+ | n < 100 = [ '0'
+ , '0'
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
+ | n < 1000 = [ '0'
+ , intToChar undefined ((n `div` 100) `mod` 10)
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
+ | otherwise = [ intToChar undefined ((n `div` 1000) `mod` 10)
+ , intToChar undefined ((n `div` 100) `mod` 10)
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
fmtHex :: Bool -> Int -> Int -> String
intToChar False 14 = 'e'
intToChar True 14 = 'E'
intToChar False 15 = 'f'
-intToChar True 15 = 'F'
\ No newline at end of file
+intToChar True 15 = 'F'
+intToChar _ _ = undefined