module TestProgRecFun
where

import ProgRecFun

bases  = [2,3,6]
powers = [0,1,2,3,4,5,6,7,8,9,10,20]

result_expt = [ expt b n | b <- bases, n <- powers ]

-- Testing of expt2

result_expt2 = [ expt2 b n | b <- bases, n <- powers ]

-- Testing of expt3

result_expt3 = [ expt3 b n | b <- bases, n <- powers ]

main =
    do
        putStrLn ("fact1 10 = " ++ show (fact1 10))
        putStrLn ("fact2 10 = " ++ show (fact2 10))
        putStrLn ("factt 10 = " ++ show (fact3 10))
        putStrLn ("fact4 10 = " ++ show (fact4 10))
        putStrLn ("fact5 10 = " ++ show (fact5 10))
        putStrLn ("fact6 10 = " ++ show (fact6 10))
        putStrLn ("fib  10  = " ++ show (fib   10))
        putStrLn ("fib2 10  = " ++ show (fib2  10))
        putStrLn ("result_expt  = " ++ show result_expt)
        putStrLn ("result_expt2 = " ++ show result_expt2)
        putStrLn ("result_expt3 = " ++ show result_expt3)



