Advertisement
ttaaa

main haskell

Dec 7th, 2021
1,289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Main where
  2.  
  3. import Fib
  4. import Powers
  5. import Data.Time ( diffUTCTime, getCurrentTime )
  6.  
  7. fibsN :: Int
  8. fibsN = 40
  9.  
  10. powersN :: Int
  11. powersN = 100
  12.  
  13. main :: IO ()
  14. main = do {
  15.     putStrLn ("Fibs solutions for n=" ++ show fibsN)
  16.     ; print (byZipWithFibs fibsN)
  17.  
  18.     ; putStr "Simple recursion answer: "
  19.     ; begT_1 <- getCurrentTime
  20.     ; print (sum (filter even (simpleRecursionFibs fibsN)))
  21.     ; endT_1 <- getCurrentTime
  22.     ; putStrLn ("Time: " ++ show (diffUTCTime endT_1 begT_1))
  23.  
  24.     ; putStr "Tail recursion answer: "    
  25.     ; begT_2 <- getCurrentTime
  26.     ; print (sum (filter even (tailRecursionFibs fibsN)))
  27.     ; endT_2 <- getCurrentTime
  28.     ; putStrLn ("Time: " ++ show (diffUTCTime endT_2 begT_2))
  29.  
  30.     ; putStr "ZipWith solution answer: "
  31.     ; begT_3 <- getCurrentTime
  32.     ; print (sum (filter even (byZipWithFibs fibsN)))
  33.     ; endT_3 <- getCurrentTime
  34.     ; putStrLn ("Time: " ++ show (diffUTCTime endT_3 begT_3))
  35.  
  36.     ; putStr "Simple iterate answer: "
  37.     ; begT_4 <- getCurrentTime
  38.     ; print (sum (filter even (simpleIterateFibs fibsN)))
  39.     ; endT_4 <- getCurrentTime
  40.     ; putStrLn ("Time: " ++ show (diffUTCTime endT_4 begT_4))
  41.  
  42.     ; print [diffUTCTime endT_1 begT_1, diffUTCTime endT_2 begT_2, diffUTCTime endT_3 begT_3, diffUTCTime endT_4 begT_4]
  43.  
  44.     ; putStrLn ("Powers solutions for n=" ++ show powersN)
  45.     ; putStr "Simple powers solution answer: "
  46.     ; begT_5 <- getCurrentTime
  47.     ; putStrLn (show (powersSimpleSolution powersN))
  48.     ; endT_5 <- getCurrentTime
  49.     ; putStrLn ("Time: " ++ show (diffUTCTime endT_5 begT_5))
  50.    
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement