1-- showing/reading floats
2--
3module Main(main) where
4
5import Numeric
6
7main = do
8  let dbls   =  map (shEFloat (Just 7)) doubles
9             ++ map (shEFloat (Just 0)) doubles
10             ++ map (shEFloat Nothing)  doubles
11             ++ map (shFFloat (Just 7)) doubles
12             ++ map (shFFloat (Just 0)) doubles
13             ++ map (shFFloat Nothing)  doubles
14             ++ map (shGFloat (Just 7)) doubles
15             ++ map (shGFloat (Just 0)) doubles
16             ++ map (shGFloat Nothing)  doubles
17
18      flts   =  map (shEFloat (Just 7)) floats
19             ++ map (shEFloat (Just 0)) floats
20             ++ map (shEFloat Nothing)  floats
21             ++ map (shFFloat (Just 7)) floats
22             ++ map (shFFloat (Just 0)) floats
23             ++ map (shFFloat Nothing)  floats
24             ++ map (shGFloat (Just 7)) floats
25             ++ map (shGFloat (Just 0)) floats
26             ++ map (shGFloat Nothing)  floats
27
28  putStrLn (unlines dbls)
29  putStrLn (unlines flts)
30  print (map read dbls :: [Double])
31  print (map read flts :: [Double])
32
33shEFloat p f = showEFloat p f ""
34shFFloat p f = showFFloat p f ""
35shGFloat p f = showGFloat p f ""
36
37doubles :: [ Double ]
38doubles = [ 0.0
39          , 420
40          ,  42
41          ,   4.2
42          ,   0.42
43          ,   0.042
44          , 1.82173691287639817263897126389712638972163
45          , 1.82173691287639817263897126389712638972163e-300
46          ]
47
48floats :: [ Float ]
49floats = [ 0.0
50          , 420
51          ,  42
52          ,   4.2
53          ,   0.42
54          ,   0.042
55          , 1.82173691287639817263897126389712638972163
56          , 1.82173691287639817263897126389712638972163e-300
57          ]
58