]> gitweb.factorcode.org Git - factor.git/blob - basis/random/random-tests.factor
498517566208165964656fd8121221001747cca2
[factor.git] / basis / random / random-tests.factor
1 USING: random sequences tools.test kernel math math.constants
2 math.functions sets grouping random.private math.statistics ;
3 IN: random.tests
4
5 [ 4 ] [ 4 random-bytes length ] unit-test
6 [ 7 ] [ 7 random-bytes length ] unit-test
7
8 [ 4 ] [ [ 4 random-bytes length ] with-secure-random ] unit-test
9 [ 7 ] [ [ 7 random-bytes length ] with-secure-random ] unit-test
10
11 [ 2 ] [ V{ 10 20 30 } [ delete-random drop ] keep length ] unit-test
12 [ V{ } [ delete-random drop ] keep length ] must-fail
13
14 [ t ] [ 10000 [ iota 0 [ drop 187 random + ] reduce ] keep / 2 * 187 10 ~ ] unit-test
15 [ t ] [ 10000 [ iota 0 [ drop 400 random + ] reduce ] keep / 2 * 400 10 ~ ] unit-test
16
17 [ t ] [ 1000 [ 400 random ] replicate members length 256 > ] unit-test
18
19 [ f ] [ 0 random ] unit-test
20
21 [ { } ] [ { } randomize ] unit-test
22 [ { 1 } ] [ { 1 } randomize ] unit-test
23
24 [ f ]
25 [ 100 [ { 0 1 } random ] replicate all-equal? ] unit-test
26
27 [ 49 ] [ 50 random-bits* log2 ] unit-test
28
29 [ { 1 2 } 3 sample ] [ too-many-samples?  ] must-fail-with
30
31 [ 3 ] [ { 1 2 3 4 } 3 sample members length ] unit-test
32 [ 99 ] [ 100 iota 99 sample members length ] unit-test
33
34 [ ]
35 [ [ 100 random-bytes ] with-system-random drop ] unit-test
36
37 { t t }
38 [ 500000 [ 0 1 normal-random-float ] replicate [ mean 0 .2 ~ ] [ std 1 .2 ~ ] bi ] unit-test
39
40 { t }
41 [ 500000 [ .15 exponential-random-float ] replicate [ mean ] [ std ] bi .2 ~ ] unit-test
42
43 { t }
44 [ 500000 [ 1 exponential-random-float ] replicate [ mean ] [ std ] bi .2 ~ ] unit-test
45
46 { t t }
47 [
48     500000 [ 1 3 pareto-random-float ] replicate [ mean ] [ std ] bi
49     [ 1.5 .5 ~ ] [ 3 sqrt 2 / .5 ~ ] bi*
50 ] unit-test
51
52 { t t }
53 [
54     500000 [ 2 3 gamma-random-float ] replicate
55     [ mean 6 .2 ~ ] [ std 2 sqrt 3 * .2 ~ ] bi
56 ] unit-test
57
58 { t t }
59 [
60     500000 [ 2 3 beta-random-float ] replicate
61     [ mean 2 2 3 + / .2 ~ ]
62     [ std 2 sqrt 3 sqrt + 2 3 + dup 1 + sqrt * / .2 ~ ] bi
63 ] unit-test
64
65 { t }
66 [ 500000 [ 3 4 von-mises-random-float ] replicate mean 3 .2 ~ ] unit-test
67
68 { t t }
69 [
70     500000 [ 2 7 triangular-random-float ] replicate
71     [ mean 2 7 + 2 / .2 ~ ] [ std 7 2 - 2 6 sqrt * / .2 ~ ] bi
72 ] unit-test
73
74 { t t }
75 [
76     500000 [ 2 3 laplace-random-float ] replicate
77     [ mean 2 .2 ~ ] [ std 2 sqrt 3 * .2 ~ ] bi
78 ] unit-test
79
80 { t t }
81 [
82     500000 [ 12 rayleigh-random-float ] replicate
83     [ mean pi 2 / sqrt 12 * .2 ~ ]
84     [ std 2 pi 2 / - sqrt 12 * .2 ~ ] bi
85 ] unit-test
86
87 { t t }
88 [
89     500000 [ 3 4 logistic-random-float ] replicate
90     [ mean 3 .2 ~ ] [ std pi 4 * 3 sqrt / .2 ~ ] bi
91 ] unit-test