• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 if (c2 >= d2 + 1) {
2   for (int c0 = a1; c0 <= b1; c0 += 1)
3     for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
4       s0(c0, c1_0);
5 } else {
6   for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1)
7     for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
8       s0(c0, c1_0);
9   for (int c0 = a2; c0 <= b2; c0 += 1) {
10     if (a1 >= c0 + 1) {
11       for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1)
12         s1(c0, c1_0);
13     } else if (c0 >= b1 + 1) {
14       for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1)
15         s1(c0, c1_0);
16     } else {
17       for (int c1_0 = c2; c1_0 <= min(c1 - 1, d2); c1_0 += 1)
18         s1(c0, c1_0);
19       for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1)
20         s0(c0, c1_0);
21       for (int c1_0 = max(c1, c2); c1_0 <= min(d1, d2); c1_0 += 1) {
22         s0(c0, c1_0);
23         s1(c0, c1_0);
24       }
25       for (int c1_0 = max(max(c1, d1 + 1), c2); c1_0 <= d2; c1_0 += 1)
26         s1(c0, c1_0);
27       for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1)
28         s0(c0, c1_0);
29     }
30   }
31   for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1)
32     for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
33       s0(c0, c1_0);
34 }
35