summaryrefslogtreecommitdiff
path: root/libraries/base/tests/fixed.hs
blob: d19bda0b926ce6e214ccd3ca8ec87c3d7ac03fe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{-# OPTIONS_GHC -Wall -Werror #-}

module Main where

import Data.Fixed

nums :: Fractional a => [a]
nums = [0,7,7.1,7.01,7.9,7.09,5 + 7,3.2 - 7.8,5.75 * (-2)]

main :: IO ()
main = do mapM_ putStrLn $ doit (nums :: [Micro])
          mapM_ putStrLn $ doit (nums :: [Pico])

doit :: HasResolution a => [Fixed a] -> [String]
doit xs = [ showFun (signFun x)
          | showFun <- [show, showFixed True]
          , signFun <- [id, negate]
          , x <- xs ]