From eb801d874c5101539c27703ec3854ad98a099d3f Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Tue, 28 Apr 2015 21:18:32 +0200 Subject: initial start with week3, wine yay --- fp2/week1/camil/RandomGetallen.icl | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 fp2/week1/camil/RandomGetallen.icl (limited to 'fp2/week1/camil/RandomGetallen.icl') diff --git a/fp2/week1/camil/RandomGetallen.icl b/fp2/week1/camil/RandomGetallen.icl deleted file mode 100644 index a0a21bf..0000000 --- a/fp2/week1/camil/RandomGetallen.icl +++ /dev/null @@ -1,29 +0,0 @@ -implementation module RandomGetallen - -import StdEnv, Random - -random_n :: Int RandomSeed -> ([Int],RandomSeed) -random_n 0 seed = ([], seed) -random_n n seed = ([r:rs], s`) -where - (rs,s`) = random_n (n-1) s - (r,s) = random seed - -random_inf :: RandomSeed -> [Int] -random_inf s = iterateSt random s - -iterateSt :: (s -> (a,s)) s -> [a] -iterateSt f s = [a : iterateSt f s`] -where - (a,s`) = f s - -shuffle :: [a] RandomSeed -> [a] -shuffle xs s = (perms xs)!!(fst (random s) rem (factorial (length xs))) - -perms :: [a] -> [[a]] -perms [] = [[]] -perms xs = [[xs!!i : xs`] \\ i <- [0..length xs - 1] , xs` <- perms (take i xs ++ drop (i+1) xs)] - -factorial :: Int -> Int -factorial 0 = 1 -factorial n = n * factorial (n-1) -- cgit v1.2.3