Annotation of embedaddon/php/ext/standard/tests/strings/004.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Testing randomization of shuffle() and str_shuffle().
3: --FILE--
4: <?php
5: function stats($f, $a) {
6: $times = 90000;
7: print "$f\n";
8: ksort($a);
9: foreach($a as $k => $v)
10: print "$k: $v: " . sprintf('%0.3f', $v / $times) . "\n";
11: }
12: $a = array();
13: $times = 90000;
14: for ($i = 0; $i < $times; $i++) {
15: $p = range(1,4);
16: shuffle($p);
17: $s = join('', $p);
18: if (empty($a[$s])) $a[$s] = 0;
19: $a[$s]++;
20: }
21:
22: stats('shuffle', $a);
23: $a = array();
24: $times = 90000;
25: for ($i = 0; $i < $times; $i++) {
26: $p = '1234';
27: $s = str_shuffle($p);
28: if (empty($a[$s])) $a[$s] = 0;
29: $a[$s]++;
30: }
31:
32: stats('str_shuffle', $a);
33: ?>
34: --EXPECTREGEX--
35: shuffle
36: 1234: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
37: 1243: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
38: 1324: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
39: 1342: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
40: 1423: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
41: 1432: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
42: 2134: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
43: 2143: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
44: 2314: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
45: 2341: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
46: 2413: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
47: 2431: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
48: 3124: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
49: 3142: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
50: 3214: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
51: 3241: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
52: 3412: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
53: 3421: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
54: 4123: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
55: 4132: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
56: 4213: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
57: 4231: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
58: 4312: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
59: 4321: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
60: str_shuffle
61: 1234: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
62: 1243: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
63: 1324: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
64: 1342: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
65: 1423: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
66: 1432: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
67: 2134: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
68: 2143: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
69: 2314: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
70: 2341: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
71: 2413: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
72: 2431: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
73: 3124: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
74: 3142: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
75: 3214: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
76: 3241: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
77: 3412: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
78: 3421: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
79: 4123: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
80: 4132: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
81: 4213: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
82: 4231: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
83: 4312: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
84: 4321: 3[0-9][0-9][0-9]: 0.0[3-4][0-9]
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>