MicroHs-0.15.0.0: tests/Arith64.hs
module Arith64 where
import Data.Int
import Data.Word
vals :: [Int64]
vals = [-5, -2, -1, 0, 1, 2, 5]
uvals :: [Word64]
uvals = [-5, -2, -1, 0, 1, 2, 5]
main :: IO ()
main = do
print [ op x y | x <- vals, y <- vals, op <- [(+),( - ),(*)] ]
print [ op x y | x <- vals, y <- vals, y /= 0, op <- [quot, rem] ]
print [ op x y | x <- vals, y <- vals, op <- [(==),(/=),(<),(<=),(>),(>=)] ]
print [ op x y | x <- vals, y <- vals, let op = compare ]
print [ minBound, maxBound :: Int64]
print [ op x y | x <- uvals, y <- uvals, op <- [(+),( - ),(*)] ]
print [ op x y | x <- uvals, y <- uvals, y /= 0, op <- [quot, rem] ]
print [ op x y | x <- uvals, y <- uvals, op <- [(==),(/=),(<),(<=),(>),(>=)] ]
print [ op x y | x <- uvals, y <- uvals, let op = compare ]
print [ minBound, maxBound :: Word64]