2
;;;; Author: Paul Dietz
3
;;;; Created: Sat Sep 6 15:47:42 2003
4
;;;; Contains: Tests of RANDOM
8
(compile-and-load "numbers-aux.lsp")
9
(compile-and-load "random-aux.lsp")
11
(deftest random.error.1
12
(signals-error (random) program-error)
15
(deftest random.error.2
16
(signals-error (random 10 *random-state* nil) program-error)
19
(deftest random.error.3
20
(loop for x in *mini-universe*
21
unless (or (and (realp x) (> x 0))
22
(eval `(signals-error (random ',x) type-error)))
27
(loop for i from 2 to 30
30
(loop for j = (1+ (random n))
33
(loop for r = (random j)
35
unless (and (integerp r)
43
(loop for i from 2 to 20
46
(loop for j = (random (float n))
50
(loop for r = (random j)
52
unless (and (eql (float r j) r)
59
(binomial-distribution-test 10000
60
#'(lambda () (eql (random 2) 0)))
64
(binomial-distribution-test 10000
65
#'(lambda () (< (random 1.0s0) 0.5s0)))
69
(binomial-distribution-test 10000
70
#'(lambda () (< (random 1.0d0) 0.5d0)))
74
(binomial-distribution-test 10000
75
#'(lambda () (evenp (random 1024))))
79
(loop for x in '(10.0s0 20.0f0 30.0d0 40.0l0)
81
unless (eql (float r x) r)
85
;;; Do more statistical tests here
b'\\ No newline at end of file'