-
Notifications
You must be signed in to change notification settings - Fork 0
/
dipper.d
37 lines (26 loc) · 657 Bytes
/
dipper.d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import std.stdio;
import types;
void main() {
writeln(GlobalStats.N, " of ", GlobalStats.M);
Layout[] curr;
curr = [new Layout()];
for (GlobalStats.nodesInLayout = 0; GlobalStats.nodesInLayout < GlobalStats.M; ++GlobalStats.nodesInLayout) {
lookup_t next;
assert(curr.length == binomialCoeff(GlobalStats.M, GlobalStats.nodesInLayout));
version(BENCH) {
writeln(GlobalStats.nodesInLayout);
}
foreach(ref l; curr) {
l.generateLayouts(next);
}
version(BENCH) {
if(GlobalStats.nodesInLayout == 8) {
return;
}
}
curr = next.values;
}
foreach(ref l; curr) {
l.print();
}
}