summaryrefslogtreecommitdiff
path: root/libraries/base/tests/data-fixed-show-read.hs
blob: 7e947f466e116c022fcb8ca55c76486b5f554f91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

module Main (main) where

import Data.Fixed

data B7

instance HasResolution B7 where
  resolution _ = 128

main :: IO ()
main = do doit 38.001
          doit 38.009
          doit 38.01
          doit 38.09
          print (read "38" :: Centi)
          doit (-38.001)
          doit (-38.009)
          doit (-38.01)
          doit (-38.09)
          print (read "-38" :: Centi)
          print (read "0.008" :: Fixed B7)
          print (read "-0.008" :: Fixed B7)

doit :: Centi -> IO ()
doit c = do let s = show c
                r = read s :: Centi
            putStrLn s
            print r