brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 58c2971 Raw
35 lines · c
1if (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