summaryrefslogtreecommitdiff
path: root/fp2/week1/mart/Random.icl
diff options
context:
space:
mode:
Diffstat (limited to 'fp2/week1/mart/Random.icl')
-rw-r--r--fp2/week1/mart/Random.icl20
1 files changed, 0 insertions, 20 deletions
diff --git a/fp2/week1/mart/Random.icl b/fp2/week1/mart/Random.icl
deleted file mode 100644
index b6e0768..0000000
--- a/fp2/week1/mart/Random.icl
+++ /dev/null
@@ -1,20 +0,0 @@
-implementation module Random
-
-import StdFile, StdList, StdMisc, StdArray, Random
-
-:: RandomSeed :== Int
-
-nullRandomSeed :: RandomSeed
-nullRandomSeed = 0
-
-getNewRandomSeed :: !*env -> (!RandomSeed, !*env) | FileSystem env
-getNewRandomSeed env
-# (ok, src, env) = sfopen "/dev/urandom" FReadData env
-| not ok => abort "could not open /dev/urandom"
-# (bytes, src) = sfreads src 4
- seed = foldl (\x y->(x<<8)+toInt y) 0 [c \\ c<-:bytes]
-| otherwise => (seed, env)
-
-random :: !RandomSeed -> .(!Int, !RandomSeed)
-random seed = (seed>>16 bitand 0xFFFF, seed*0x08088405+1)
-