Skip to content

Instantly share code, notes, and snippets.

@Zshazz
Created December 1, 2013 16:45
Show Gist options
  • Save Zshazz/1bffebf9cb7cb97cfabc to your computer and use it in GitHub Desktop.
Save Zshazz/1bffebf9cb7cb97cfabc to your computer and use it in GitHub Desktop.
Requested tests & results for Issue 11598
Results for new uniform:
For n = 2
[9999237, 10000763]
-----
For n = 3
[10000691, 9997594, 10001715]
-----
For n = 4
[9999528, 10002827, 9997172, 10000473]
-----
For n = 5
[10003684, 9999685, 9997418, 10002266, 9996947]
-----
For n = 6
[10000330, 10001862, 9997586, 10001127, 10001303, 9997792]
-----
For n = 7
[9996169, 9999359, 10000794, 9999379, 10004249, 10001806, 9998244]
-----
For n = 8
[10005685, 9997982, 9999511, 10003497, 10003923, 9999719, 9995354, 9994329]
-----
For n = 9
[10002167, 10000489, 10001550, 9993743, 10004943, 9997601, 9998283, 10000701, 10000523]
-----
For n = 10
[10006949, 9997765, 9998005, 9995529, 10000356, 9996023, 10001486, 9999537, 10002732, 10001618]
-----
For n = 20
[9999876, 9997815, 9992233, 10002658, 10007827, 9998733, 9999672, 10003722, 10003222, 9999948, 9996477, 9997141, 9999533, 10002107, 9999631, 9999868, 9998368, 9997981, 10001950, 10001238]
-----
For n = 50
[10001145, 10000058, 9997518, 10000598, 9998600, 10002946, 10004519, 10003503, 9999933, 9998437, 9998364, 9999502, 10000102, 10000625, 9999575, 9998754, 10001891, 9993647, 9998544, 9998962, 10002324, 9996373, 10000482, 10001688, 9995944, 10002711, 10002725, 10000970, 10000199, 9993926, 10001329, 9998733, 9997764, 10001196, 10000017, 10000838, 9999432, 9994835, 9999914, 9999886, 10003148, 9999418, 9996495, 10004369, 10001956, 10005860, 10001609, 9999981, 9999735, 9998920]
-----
For n = 100
[9995895, 9999355, 10001892, 10004269, 9997778, 9995508, 10000693, 9996964, 10003281, 9996416, 10001823, 10001564, 10003016, 9998400, 9999954, 10002336, 10002775, 9998147, 10003913, 10001665, 10002741, 10010003, 9997378, 9995538, 10006958, 9999795, 10000090, 9999103, 9996700, 10006754, 9995078, 9994161, 10000149, 10000125, 10000949, 10000655, 9997500, 9994872, 10000647, 9997348, 10000372, 10001971, 9999139, 9998629, 10001289, 9998316, 10000415, 9994930, 10003234, 9999268, 9998515, 10003328, 9997761, 10001393, 10001657, 10001853, 9999593, 9995849, 9999925, 9994117, 10000825, 9993977, 10003021, 10003325, 10001367, 9997316, 10004563, 10000673, 10003305, 9995332, 10001852, 10003025, 10001070, 10001116, 10002298, 10001137, 9999426, 10001333, 9996113, 9994182, 9999644, 10003654, 9994605, 9996646, 9999614, 10000206, 10000577, 10001683, 9999495, 10003544, 10000932, 9995795, 10000168, 10004144, 9999613, 9996652, 10000084, 9998926, 10004459, 10000561]
-----
Results for old uniform (for completeness):
For n = 2
[9998397, 10001603]
-----
For n = 3
[9996435, 9999230, 10004335]
-----
For n = 4
[9999947, 10002656, 9996813, 10000584]
-----
For n = 5
[9999756, 10006202, 9999390, 9996404, 9998248]
-----
For n = 6
[10002969, 10000814, 9997017, 10000330, 10001291, 9997579]
-----
For n = 7
[10002873, 9999819, 10000986, 9999777, 10002477, 9997126, 9996942]
-----
For n = 8
[10000389, 10001091, 10001581, 10002053, 10000149, 9998735, 9995620, 10000382]
-----
For n = 9
[9999130, 10003095, 10003828, 9995935, 9997824, 9997932, 10002103, 9999571, 10000582]
-----
For n = 10
[10004034, 10002231, 9998613, 9997262, 9996528, 9998773, 10000981, 9999636, 9998304, 10003638]
-----
For n = 20
[10000694, 9998263, 9993973, 10000570, 9998523, 10000980, 9999321, 10004989, 9997775, 10002498, 9999733, 9996018, 10007012, 10001337, 9999930, 9999134, 10001824, 9997501, 10000826, 9999099]
-----
For n = 50
[10002465, 9995275, 10000549, 10005667, 10003932, 9998716, 10000880, 9999430, 9999432, 10003583, 9998405, 9998738, 9999290, 9999462, 9995829, 10002913, 9997821, 9999093, 10002161, 9997574, 9998263, 10000253, 9999804, 9999241, 9995478, 10005291, 10000756, 10004391, 9998284, 10000001, 9999295, 10005659, 10003419, 9997759, 9992503, 9999012, 9993781, 9999171, 9997259, 9998031, 9997084, 9999272, 10001177, 9997596, 10000730, 10003015, 10006086, 10001051, 9997808, 10007315]
-----
For n = 100
[9998888, 10001426, 10003226, 10000800, 10001525, 9997028, 9996851, 9998781, 9998978, 9997348, 10004559, 9996493, 9997951, 10002018, 10002593, 10002905, 9997693, 10004012, 9996461, 10000707, 9998214, 9997449, 10002768, 9994297, 9999849, 10000068, 10003982, 9998746, 9995823, 10000069, 9998093, 10002618, 9998871, 9998419, 10006988, 10002489, 10000322, 9999074, 9998490, 10000242, 10000954, 9992351, 10004731, 10003198, 10000426, 10000117, 10001071, 9996598, 9999590, 9999957, 10003687, 9997401, 9997271, 9999264, 10000981, 10003211, 10001985, 9995614, 10003596, 9999879, 10002780, 9999938, 9999863, 10001446, 9998354, 9998523, 10000563, 10002995, 9996271, 9999173, 9996214, 9998605, 9995343, 9999166, 10000669, 10003500, 9999576, 10000339, 9999689, 10005595, 10002180, 10001398, 9996710, 10000625, 10005755, 9999175, 9998326, 10000352, 10000690, 9996569, 10002083, 10003304, 9998597, 9999938, 9996249, 9998184, 10002176, 9999989, 9999789, 10000313]
-----
import std.stdio, std.random, std.range;
void main() {
uint[] testCases = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 50, 100];
foreach(n; testCases) {
size_t[] counts = new size_t[](n);
foreach(_; iota(n * 10_000_000)) {
auto roll = uniform(0, n);
counts[roll]++;
}
writeln("For n = ", n);
writeln(counts);
writeln("-----");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment