Craft3e-0.2.0.3: Test.hs
module Test where
import PicturesSVG
ex :: Integer
ex = 3+4
double :: Integer -> Integer
double x = 2*x
trip :: Integer -> Integer
trip y = 3*y
pic1 :: Picture
pic1 = horse `beside` flipV (invert horse)
pic2 :: Picture
pic2 = pic1 `above` invert pic1
howManyEqual :: Integer -> Integer -> Integer -> Integer
howManyEqual x y z
| x==y && y==z = 3
| x==y || y==z || z==x = 2
| otherwise = 0
(^^^) :: Integer -> Integer -> Integer
x ^^^ y
| x>= y = x
| otherwise = y
fac :: Integer -> Integer
fac 0 = 1
fac n
| n>0 = n * fac (n-1)
| otherwise = 0
maxThreeOccurs :: Integer -> Integer -> Integer -> (Integer,Integer)
maxThreeOccurs x y z =
(theMax,occurs)
where
theMax = max (max x y) z
occurs = eq x + eq y + eq z
eq w = if w==theMax then 1 else 0
pow :: Integer -> Integer
pow n
| n==0 = 1
| n>0 = 2 * pow (n-1)
| otherwise = 0
sumFun :: (Integer -> Integer) -> Integer -> Integer
sumFun f n
| n==0 = f 0
| n>0 = sumFun f (n-1) + f n
| otherwise = 0
fibP :: Integer -> (Integer,Integer)
fibP 0 = (0,1)
fibP n = (v,u+v)
where
(u,v) = fibP (n-1)
fib :: Integer -> Integer
fib 0 = 0
fib 1 = 1
fib n = fib (n-2) + fib (n-1)