blob: 4dbf68c717946ea1e6f674cc8d1129f430d03331 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// registers reused by scopes that never overlap, and a fixed array read through its cached items and length
o3 int scopes(fixed []int f) {
int total = 0;
for (int a = 0; a < 3; a++) { int x = a * 2; total += x; }
for (int b = 0; b < 3; b++) { int y = b * 3; total += y; }
for (int c = 0; c < 3; c++) { int z = c * 5; total += z; }
for (int e = 0; e < len(f); e++) { int w = f[e]; total += w; }
for (int g = 0; g < 4; g++) { int h = g + 1, q = h * h, r = q - 1; total += r; }
return total;
}
fn main() {
fixed []int f = new(fixed []int, 4);
for (int i = 0; i < 4; i++) f[i] = 10 * i;
put_n(scopes(f)); put_c(10);
free(d*f);
return 0;
}
|