631 lines
14 KiB
PHP
Executable File
631 lines
14 KiB
PHP
Executable File
<?php
|
|
// addnews ready
|
|
// translator ready
|
|
// mail ready
|
|
$bell_curve=0;
|
|
function bell_rand($min=false,$max=false){
|
|
global $bell_curve;
|
|
if ($min===false && $max===false) {
|
|
//no value passed, assume 0 min, and 1 max.
|
|
$min=0;
|
|
$max=1;
|
|
}
|
|
if ($max===false){ // here got something mixed up in the previous versions
|
|
//only one value passed, assume it is the max.
|
|
$max = $min;
|
|
$min = 0;
|
|
}
|
|
if($min>$max){
|
|
//min is bigger than max, switch.
|
|
$x = $max;
|
|
$max = $min;
|
|
$min = $x;
|
|
}
|
|
if (($min-$max)==0){
|
|
//equal values, return one of them.
|
|
return $min;
|
|
}
|
|
if (!is_array($bell_curve)){
|
|
$bell_curve = array(
|
|
3 => -0.716599,
|
|
4 => -0.708501841,
|
|
5 => -0.688258942,
|
|
6 => -0.676113203,
|
|
7 => -0.659918884,
|
|
8 => -0.651821725,
|
|
9 => -0.639675985,
|
|
10 => -0.631578826,
|
|
11 => -0.627530246,
|
|
12 => -0.619433087,
|
|
13 => -0.611335927,
|
|
14 => -0.607287348,
|
|
15 => -0.599190188,
|
|
16 => -0.595141608,
|
|
17 => -0.591093029,
|
|
18 => -0.587044449,
|
|
19 => -0.582995869,
|
|
20 => -0.57894729,
|
|
21 => -0.57489871,
|
|
22 => -0.57085013,
|
|
23 => -0.56680155,
|
|
24 => -0.562752971,
|
|
25 => -0.558704391,
|
|
26 => -0.554655811,
|
|
28 => -0.550607232,
|
|
29 => -0.546558652,
|
|
31 => -0.542510072,
|
|
32 => -0.538461492,
|
|
34 => -0.534412913,
|
|
35 => -0.530364333,
|
|
37 => -0.526315753,
|
|
39 => -0.522267174,
|
|
41 => -0.518218594,
|
|
43 => -0.514170014,
|
|
45 => -0.510121434,
|
|
47 => -0.506072855,
|
|
50 => -0.502024275,
|
|
52 => -0.497975695,
|
|
54 => -0.493927115,
|
|
57 => -0.489878536,
|
|
60 => -0.485829956,
|
|
63 => -0.481781376,
|
|
66 => -0.477732797,
|
|
69 => -0.473684217,
|
|
72 => -0.469635637,
|
|
75 => -0.465587057,
|
|
79 => -0.461538478,
|
|
83 => -0.457489898,
|
|
86 => -0.453441318,
|
|
90 => -0.449392739,
|
|
95 => -0.445344159,
|
|
99 => -0.441295579,
|
|
104 => -0.437246999,
|
|
108 => -0.43319842,
|
|
113 => -0.42914984,
|
|
118 => -0.42510126,
|
|
124 => -0.421052681,
|
|
129 => -0.417004101,
|
|
135 => -0.412955521,
|
|
141 => -0.408906941,
|
|
147 => -0.404858362,
|
|
154 => -0.400809782,
|
|
161 => -0.396761202,
|
|
168 => -0.392712623,
|
|
175 => -0.388664043,
|
|
183 => -0.384615463,
|
|
191 => -0.380566883,
|
|
199 => -0.376518304,
|
|
207 => -0.372469724,
|
|
216 => -0.368421144,
|
|
226 => -0.364372565,
|
|
235 => -0.360323985,
|
|
245 => -0.356275405,
|
|
256 => -0.352226825,
|
|
266 => -0.348178246,
|
|
277 => -0.344129666,
|
|
289 => -0.340081086,
|
|
301 => -0.336032506,
|
|
313 => -0.331983927,
|
|
326 => -0.327935347,
|
|
340 => -0.323886767,
|
|
354 => -0.319838188,
|
|
368 => -0.315789608,
|
|
383 => -0.311741028,
|
|
399 => -0.307692448,
|
|
415 => -0.303643869,
|
|
431 => -0.299595289,
|
|
448 => -0.295546709,
|
|
466 => -0.29149813,
|
|
485 => -0.28744955,
|
|
504 => -0.28340097,
|
|
523 => -0.27935239,
|
|
544 => -0.275303811,
|
|
565 => -0.271255231,
|
|
587 => -0.267206651,
|
|
609 => -0.263158072,
|
|
633 => -0.259109492,
|
|
657 => -0.255060912,
|
|
682 => -0.251012332,
|
|
708 => -0.246963753,
|
|
734 => -0.242915173,
|
|
762 => -0.238866593,
|
|
790 => -0.234818014,
|
|
820 => -0.230769434,
|
|
850 => -0.226720854,
|
|
881 => -0.222672274,
|
|
914 => -0.218623695,
|
|
947 => -0.214575115,
|
|
982 => -0.210526535,
|
|
1017 => -0.206477955,
|
|
1054 => -0.202429376,
|
|
1091 => -0.198380796,
|
|
1130 => -0.194332216,
|
|
1171 => -0.190283637,
|
|
1212 => -0.186235057,
|
|
1255 => -0.182186477,
|
|
1298 => -0.178137897,
|
|
1344 => -0.174089318,
|
|
1390 => -0.170040738,
|
|
1438 => -0.165992158,
|
|
1488 => -0.161943579,
|
|
1539 => -0.157894999,
|
|
1591 => -0.153846419,
|
|
1645 => -0.149797839,
|
|
1700 => -0.14574926,
|
|
1757 => -0.14170068,
|
|
1816 => -0.1376521,
|
|
1876 => -0.133603521,
|
|
1938 => -0.129554941,
|
|
2002 => -0.125506361,
|
|
2068 => -0.121457781,
|
|
2135 => -0.117409202,
|
|
2204 => -0.113360622,
|
|
2275 => -0.109312042,
|
|
2348 => -0.105263463,
|
|
2423 => -0.101214883,
|
|
2500 => -0.097166303,
|
|
2579 => -0.093117723,
|
|
2660 => -0.089069144,
|
|
2743 => -0.085020564,
|
|
2828 => -0.080971984,
|
|
2916 => -0.076923405,
|
|
3005 => -0.072874825,
|
|
3097 => -0.068826245,
|
|
3192 => -0.064777665,
|
|
3288 => -0.060729086,
|
|
3387 => -0.056680506,
|
|
3489 => -0.052631926,
|
|
3593 => -0.048583346,
|
|
3700 => -0.044534767,
|
|
3809 => -0.040486187,
|
|
3920 => -0.036437607,
|
|
4035 => -0.032389028,
|
|
4152 => -0.028340448,
|
|
4272 => -0.024291868,
|
|
4394 => -0.020243288,
|
|
4520 => -0.016194709,
|
|
4648 => -0.012146129,
|
|
4779 => -0.008097549,
|
|
4913 => -0.00404897,
|
|
5050 => 0, // 5th percentile
|
|
5190 => 0.00404819,
|
|
5334 => 0.00809677,
|
|
5480 => 0.012145349,
|
|
5629 => 0.016193929,
|
|
5782 => 0.020242509,
|
|
5938 => 0.024291088,
|
|
6097 => 0.028339668,
|
|
6260 => 0.032388248,
|
|
6426 => 0.036436828,
|
|
6595 => 0.040485407,
|
|
6768 => 0.044533987,
|
|
6944 => 0.048582567,
|
|
7123 => 0.052631146,
|
|
7307 => 0.056679726,
|
|
7493 => 0.060728306,
|
|
7684 => 0.064776886,
|
|
7878 => 0.068825465,
|
|
8076 => 0.072874045,
|
|
8277 => 0.076922625,
|
|
8482 => 0.080971205,
|
|
8692 => 0.085019784,
|
|
8904 => 0.089068364,
|
|
9121 => 0.093116944,
|
|
9342 => 0.097165523,
|
|
9566 => 0.101214103,
|
|
9795 => 0.105262683,
|
|
10027 => 0.109311263,
|
|
10264 => 0.113359842,
|
|
10504 => 0.117408422,
|
|
10749 => 0.121457002,
|
|
10997 => 0.125505581,
|
|
11250 => 0.129554161,
|
|
11507 => 0.133602741,
|
|
11768 => 0.137651321,
|
|
12033 => 0.1416999,
|
|
12302 => 0.14574848,
|
|
12576 => 0.14979706,
|
|
12854 => 0.153845639,
|
|
13136 => 0.157894219,
|
|
13422 => 0.161942799,
|
|
13712 => 0.165991379,
|
|
14007 => 0.170039958,
|
|
14306 => 0.174088538,
|
|
14609 => 0.178137118,
|
|
14917 => 0.182185697,
|
|
15229 => 0.186234277,
|
|
15545 => 0.190282857,
|
|
15866 => 0.194331437,
|
|
16190 => 0.198380016,
|
|
16519 => 0.202428596,
|
|
16853 => 0.206477176,
|
|
17190 => 0.210525755,
|
|
17532 => 0.214574335,
|
|
17879 => 0.218622915,
|
|
18229 => 0.222671495,
|
|
18584 => 0.226720074,
|
|
18943 => 0.230768654,
|
|
19306 => 0.234817234,
|
|
19674 => 0.238865814,
|
|
20045 => 0.242914393,
|
|
20421 => 0.246962973,
|
|
20801 => 0.251011553,
|
|
21186 => 0.255060132,
|
|
21574 => 0.259108712,
|
|
21966 => 0.263157292,
|
|
22363 => 0.267205872,
|
|
22763 => 0.271254451,
|
|
23168 => 0.275303031,
|
|
23576 => 0.279351611,
|
|
23989 => 0.28340019,
|
|
24405 => 0.28744877,
|
|
24825 => 0.29149735,
|
|
25249 => 0.29554593,
|
|
25677 => 0.299594509,
|
|
26109 => 0.303643089,
|
|
26544 => 0.307691669,
|
|
26983 => 0.311740248,
|
|
27425 => 0.315788828,
|
|
27871 => 0.319837408,
|
|
28321 => 0.323885988,
|
|
28774 => 0.327934567,
|
|
29230 => 0.331983147,
|
|
29690 => 0.336031727,
|
|
30153 => 0.340080306,
|
|
30619 => 0.344128886,
|
|
31089 => 0.348177466,
|
|
31561 => 0.352226046,
|
|
32037 => 0.356274625,
|
|
32515 => 0.360323205,
|
|
32997 => 0.364371785,
|
|
33481 => 0.368420365,
|
|
33968 => 0.372468944,
|
|
34458 => 0.376517524,
|
|
34950 => 0.380566104,
|
|
35445 => 0.384614683,
|
|
35942 => 0.388663263,
|
|
36442 => 0.392711843,
|
|
36944 => 0.396760423,
|
|
37448 => 0.400809002,
|
|
37955 => 0.404857582,
|
|
38463 => 0.408906162,
|
|
38974 => 0.412954741,
|
|
39486 => 0.417003321,
|
|
40001 => 0.421051901,
|
|
40517 => 0.425100481,
|
|
41034 => 0.42914906,
|
|
41553 => 0.43319764,
|
|
42074 => 0.43724622,
|
|
42596 => 0.441294799,
|
|
43119 => 0.445343379,
|
|
43644 => 0.449391959,
|
|
44170 => 0.453440539,
|
|
44696 => 0.457489118,
|
|
45224 => 0.461537698,
|
|
45753 => 0.465586278,
|
|
46282 => 0.469634857,
|
|
46812 => 0.473683437,
|
|
47342 => 0.477732017,
|
|
47873 => 0.481780597,
|
|
48405 => 0.485829176,
|
|
48936 => 0.489877756,
|
|
49468 => 0.493926336,
|
|
50000 => 0.497974916,
|
|
50532 => 0.502023495,
|
|
51064 => 0.506072075,
|
|
51595 => 0.510120655,
|
|
52127 => 0.514169234,
|
|
52658 => 0.518217814,
|
|
53188 => 0.522266394,
|
|
53718 => 0.526314974,
|
|
54247 => 0.530363553,
|
|
54776 => 0.534412133,
|
|
55304 => 0.538460713,
|
|
55830 => 0.542509292,
|
|
56356 => 0.546557872,
|
|
56881 => 0.550606452,
|
|
57404 => 0.554655032,
|
|
57926 => 0.558703611,
|
|
58447 => 0.562752191,
|
|
58966 => 0.566800771,
|
|
59483 => 0.57084935,
|
|
59999 => 0.57489793,
|
|
60514 => 0.57894651,
|
|
61026 => 0.58299509,
|
|
61537 => 0.587043669,
|
|
62045 => 0.591092249,
|
|
62552 => 0.595140829,
|
|
63056 => 0.599189408,
|
|
63558 => 0.603237988,
|
|
64058 => 0.607286568,
|
|
64555 => 0.611335148,
|
|
65050 => 0.615383727,
|
|
65542 => 0.619432307,
|
|
66032 => 0.623480887,
|
|
66519 => 0.627529466,
|
|
67003 => 0.631578046,
|
|
67485 => 0.635626626,
|
|
67963 => 0.639675206,
|
|
68439 => 0.643723785,
|
|
68911 => 0.647772365,
|
|
69381 => 0.651820945,
|
|
69847 => 0.655869525,
|
|
70310 => 0.659918104,
|
|
70770 => 0.663966684,
|
|
71226 => 0.668015264,
|
|
71679 => 0.672063843,
|
|
72129 => 0.676112423,
|
|
72575 => 0.680161003,
|
|
73017 => 0.684209583,
|
|
73456 => 0.688258162,
|
|
73891 => 0.692306742,
|
|
74323 => 0.696355322,
|
|
74751 => 0.700403901,
|
|
75175 => 0.704452481,
|
|
75595 => 0.708501061,
|
|
76011 => 0.712549641,
|
|
76424 => 0.71659822,
|
|
76832 => 0.7206468,
|
|
77237 => 0.72469538,
|
|
77637 => 0.728743959,
|
|
78034 => 0.732792539,
|
|
78426 => 0.736841119,
|
|
78814 => 0.740889699,
|
|
79199 => 0.744938278,
|
|
79579 => 0.748986858,
|
|
79955 => 0.753035438,
|
|
80326 => 0.757084017,
|
|
80694 => 0.761132597,
|
|
81057 => 0.765181177,
|
|
81416 => 0.769229757,
|
|
81771 => 0.773278336,
|
|
82121 => 0.777326916,
|
|
82468 => 0.781375496,
|
|
82810 => 0.785424076,
|
|
83147 => 0.789472655,
|
|
83481 => 0.793521235,
|
|
83810 => 0.797569815,
|
|
84134 => 0.801618394,
|
|
84455 => 0.805666974,
|
|
84771 => 0.809715554,
|
|
85083 => 0.813764134,
|
|
85391 => 0.817812713,
|
|
85694 => 0.821861293,
|
|
85993 => 0.825909873,
|
|
86288 => 0.829958452,
|
|
86578 => 0.834007032,
|
|
86864 => 0.838055612,
|
|
87146 => 0.842104192,
|
|
87424 => 0.846152771,
|
|
87698 => 0.850201351,
|
|
87967 => 0.854249931,
|
|
88232 => 0.85829851,
|
|
88493 => 0.86234709,
|
|
88750 => 0.86639567,
|
|
89003 => 0.87044425,
|
|
89251 => 0.874492829,
|
|
89496 => 0.878541409,
|
|
89736 => 0.882589989,
|
|
89973 => 0.886638568,
|
|
90205 => 0.890687148,
|
|
90434 => 0.894735728,
|
|
90658 => 0.898784308,
|
|
90879 => 0.902832887,
|
|
91096 => 0.906881467,
|
|
91308 => 0.910930047,
|
|
91518 => 0.914978626,
|
|
91723 => 0.919027206,
|
|
91924 => 0.923075786,
|
|
92122 => 0.927124366,
|
|
92316 => 0.931172945,
|
|
92507 => 0.935221525,
|
|
92693 => 0.939270105,
|
|
92877 => 0.943318685,
|
|
93056 => 0.947367264,
|
|
93232 => 0.951415844,
|
|
93405 => 0.955464424,
|
|
93574 => 0.959513003,
|
|
93740 => 0.963561583,
|
|
93903 => 0.967610163,
|
|
94062 => 0.971658743,
|
|
94218 => 0.975707322,
|
|
94371 => 0.979755902,
|
|
94520 => 0.983804482,
|
|
94666 => 0.987853061,
|
|
94810 => 0.991901641,
|
|
94950 => 0.995950221,
|
|
95087 => 1, // 95th Percentile
|
|
95221 => 1.00404738,
|
|
95352 => 1.00809596,
|
|
95480 => 1.01214454,
|
|
95606 => 1.016193119,
|
|
95728 => 1.020241699,
|
|
95848 => 1.024290279,
|
|
95965 => 1.028338859,
|
|
96080 => 1.032387438,
|
|
96191 => 1.036436018,
|
|
96300 => 1.040484598,
|
|
96407 => 1.044533177,
|
|
96511 => 1.048581757,
|
|
96613 => 1.052630337,
|
|
96712 => 1.056678917,
|
|
96808 => 1.060727496,
|
|
96903 => 1.064776076,
|
|
96995 => 1.068824656,
|
|
97084 => 1.072873236,
|
|
97172 => 1.076921815,
|
|
97257 => 1.080970395,
|
|
97340 => 1.085018975,
|
|
97421 => 1.089067554,
|
|
97500 => 1.093116134,
|
|
97577 => 1.097164714,
|
|
97652 => 1.101213294,
|
|
97725 => 1.105261873,
|
|
97796 => 1.109310453,
|
|
97865 => 1.113359033,
|
|
97932 => 1.117407612,
|
|
97998 => 1.121456192,
|
|
98062 => 1.125504772,
|
|
98124 => 1.129553352,
|
|
98184 => 1.133601931,
|
|
98243 => 1.137650511,
|
|
98300 => 1.141699091,
|
|
98355 => 1.14574767,
|
|
98409 => 1.14979625,
|
|
98461 => 1.15384483,
|
|
98512 => 1.15789341,
|
|
98562 => 1.161941989,
|
|
98610 => 1.165990569,
|
|
98656 => 1.170039149,
|
|
98702 => 1.174087728,
|
|
98745 => 1.178136308,
|
|
98788 => 1.182184888,
|
|
98829 => 1.186233468,
|
|
98870 => 1.190282047,
|
|
98909 => 1.194330627,
|
|
98946 => 1.198379207,
|
|
98983 => 1.202427786,
|
|
99018 => 1.206476366,
|
|
99053 => 1.210524946,
|
|
99086 => 1.214573526,
|
|
99119 => 1.218622105,
|
|
99150 => 1.222670685,
|
|
99180 => 1.226719265,
|
|
99210 => 1.230767845,
|
|
99238 => 1.234816424,
|
|
99266 => 1.238865004,
|
|
99292 => 1.242913584,
|
|
99318 => 1.246962163,
|
|
99343 => 1.251010743,
|
|
99367 => 1.255059323,
|
|
99391 => 1.259107903,
|
|
99413 => 1.263156482,
|
|
99435 => 1.267205062,
|
|
99456 => 1.271253642,
|
|
99477 => 1.275302221,
|
|
99496 => 1.279350801,
|
|
99515 => 1.283399381,
|
|
99534 => 1.287447961,
|
|
99552 => 1.29149654,
|
|
99569 => 1.29554512,
|
|
99585 => 1.2995937,
|
|
99601 => 1.303642279,
|
|
99617 => 1.307690859,
|
|
99632 => 1.311739439,
|
|
99646 => 1.315788019,
|
|
99660 => 1.319836598,
|
|
99674 => 1.323885178,
|
|
99687 => 1.327933758,
|
|
99699 => 1.331982337,
|
|
99711 => 1.336030917,
|
|
99723 => 1.340079497,
|
|
99734 => 1.344128077,
|
|
99744 => 1.348176656,
|
|
99755 => 1.352225236,
|
|
99765 => 1.356273816,
|
|
99774 => 1.360322396,
|
|
99784 => 1.364370975,
|
|
99793 => 1.368419555,
|
|
99801 => 1.372468135,
|
|
99809 => 1.376516714,
|
|
99817 => 1.380565294,
|
|
99825 => 1.384613874,
|
|
99832 => 1.388662454,
|
|
99839 => 1.392711033,
|
|
99846 => 1.396759613,
|
|
99853 => 1.400808193,
|
|
99859 => 1.404856772,
|
|
99865 => 1.408905352,
|
|
99871 => 1.412953932,
|
|
99876 => 1.417002512,
|
|
99882 => 1.421051091,
|
|
99887 => 1.425099671,
|
|
99892 => 1.429148251,
|
|
99896 => 1.43319683,
|
|
99901 => 1.43724541,
|
|
99905 => 1.44129399,
|
|
99910 => 1.44534257,
|
|
99914 => 1.449391149,
|
|
99917 => 1.453439729,
|
|
99921 => 1.457488309,
|
|
99925 => 1.461536888,
|
|
99928 => 1.465585468,
|
|
99931 => 1.469634048,
|
|
99934 => 1.473682628,
|
|
99937 => 1.477731207,
|
|
99940 => 1.481779787,
|
|
99943 => 1.485828367,
|
|
99946 => 1.489876946,
|
|
99948 => 1.493925526,
|
|
99950 => 1.497974106,
|
|
99953 => 1.502022686,
|
|
99955 => 1.506071265,
|
|
99957 => 1.510119845,
|
|
99959 => 1.514168425,
|
|
99961 => 1.518217005,
|
|
99963 => 1.522265584,
|
|
99965 => 1.526314164,
|
|
99966 => 1.530362744,
|
|
99968 => 1.534411323,
|
|
99969 => 1.538459903,
|
|
99971 => 1.542508483,
|
|
99972 => 1.546557063,
|
|
99974 => 1.550605642,
|
|
99975 => 1.554654222,
|
|
99976 => 1.558702802,
|
|
99977 => 1.562751381,
|
|
99978 => 1.566799961,
|
|
99979 => 1.570848541,
|
|
99980 => 1.574897121,
|
|
99981 => 1.5789457,
|
|
99982 => 1.58299428,
|
|
99983 => 1.58704286,
|
|
99984 => 1.591091439,
|
|
99985 => 1.595140019,
|
|
99986 => 1.603237179,
|
|
99987 => 1.607285758,
|
|
99988 => 1.615382918,
|
|
99989 => 1.623480077,
|
|
99990 => 1.627528657,
|
|
99991 => 1.635625816,
|
|
99992 => 1.647771556,
|
|
99993 => 1.655868715,
|
|
99994 => 1.672063034,
|
|
99995 => 1.684208773,
|
|
99996 => 1.704451672,
|
|
99997 => 1.712548831
|
|
);
|
|
}
|
|
$r = mt_rand(0,100000);
|
|
//echo $r." = ";
|
|
reset($bell_curve);
|
|
while (list($key,$val)=each($bell_curve)){
|
|
if ($key>=$r) {
|
|
return $min + $val * ($max-$min);
|
|
}
|
|
}
|
|
//We're above 0.99997
|
|
return $min + $val * ($max-$min);
|
|
|
|
//below optomizations don't work atm.
|
|
echo $r." = ";
|
|
$index="0.00000";
|
|
for ($n = 0; $n<strlen($r); $n++){
|
|
$f = substr($r,0,$n);
|
|
if (isset($bell_curve[(float)$f])) $index = $f;
|
|
}
|
|
if (strlen($index)>=7){
|
|
return $min + $bell_curve[(float)$f] * ($max-$min);
|
|
}
|
|
$o = strlen($f)-2;
|
|
$o = pow(10,$o); // $o is orders of magnitude of our current closest index match
|
|
for ($n = 0; $n<10000; $n++){
|
|
$x = $n / $o;
|
|
if (isset($bell_curve[(float)($f+$x)])) return $min + $bell_curve[(float)($f+$x)] * ($max-$min);
|
|
if (isset($bell_curve[(float)($f-$x)])) return $min + $bell_curve[(float)($f-$x)] * ($max-$min);
|
|
}
|
|
echo "\n<br>Unable to locate random value, \$r was $r<br>\n";
|
|
}
|
|
|
|
?>
|