Added cabal and vim dir
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
;; This code is taken from:
|
||||
;; http://stackoverflow.com/questions/14674165/scheme-generate-random
|
||||
;; It is not to be used in cryptography or related fields.
|
||||
(define (random) "generates a random number between 0 and 1"
|
||||
(let ((a 69069) (c 1) (m (expt 2 32)) (seed 19380110.0))
|
||||
(lambda new-seed
|
||||
(if (pair? new-seed)
|
||||
(begin (set! seed (car new-seed)))
|
||||
(begin (set! seed (modulo (+ (* seed a) c) m))))
|
||||
(/ seed m))))
|
||||
|
||||
(define (randint . args) "generate a random integer between the given args(the lower range is optional)"
|
||||
(cond ((= (length args) 1) (randint 0 (car args)))
|
||||
((= (length args) 2)
|
||||
(+ (car args) (floor (* (random) (- (cadr args) (car args))))))
|
||||
(else (write "usage: (randint [lo] hi)"))))
|
Reference in New Issue
Block a user