Forgot to shuffle the num[] array! That was probably introducing

some really subtle probabilistic bias in the generated latin squares.

[originally from svn r7302]
This commit is contained in:
Simon Tatham
2007-02-19 19:38:00 +00:00
parent d68ba4b21e
commit aa6fb75072

View File

@ -1092,6 +1092,7 @@ digit *latin_generate(int o, random_state *rs)
for (j = 0; j < o; j++)
col[j] = num[j] = j;
shuffle(col, j, sizeof(*col), rs);
shuffle(num, j, sizeof(*num), rs);
/* We need the num permutation in both forward and inverse forms. */
for (j = 0; j < o; j++)
numinv[num[j]] = j;