Ticket #7078: Main.hs

File Main.hs, 920 bytes (added by NeilJ, 22 months ago)
Line 
1{-# LANGUAGE CPP, TemplateHaskell #-}
2-----------------------------------------------------------------------------
3--
4-- Module      :  Main
5-- Copyright   :
6-- License     :  AllRightsReserved
7--
8-- Maintainer  :
9-- Stability   :
10-- Portability :
11--
12-- |
13--
14-----------------------------------------------------------------------------
15
16module Main (
17    main
18) where
19
20import System.Environment
21import System.Time
22import Handy
23import Data.Array.Parallel.PArray
24
25
26main::IO()
27main = do
28    (n::Int) <- (read . head) `fmap` getArgs
29    let (parrID :: PArray (PArray Double)) = fromList [fromList [(if y == z then 1 else 0) | y <- [1..n]] | z <- [1..n]]
30    time $ printResult parrID
31
32printResult :: PArray (PArray Double) -> IO ()
33printResult arr = print $ maxEltDiagMMult arr arr
34
35time :: forall a. IO a -> IO ()
36time act = do
37    t0 <- getClockTime
38    _ <- act
39    t1 <- getClockTime
40    print $ diffClockTimes t1 t0
41