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