1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package p
16
17 import "math/bits"
18
19 func mov(x, y uint) uint { return y }
20 func zero() uint { return 0 }
21 func add(x, y uint) uint { return x + y }
22 func adds(x, y, c uint) (uint, uint) { return bits.Add(x, y, 0) }
23 func adcs(x, y, c uint) (uint, uint) { return bits.Add(x, y, c) }
24 func sub(x, y uint) uint { return x + y }
25 func subs(x, y uint) (uint, uint) { return bits.Sub(x, y, 0) }
26 func sbcs(x, y, c uint) (uint, uint) { return bits.Sub(x, y, c) }
27 func mul(x, y uint) uint { return x * y }
28 func mulWide(x, y uint) (uint, uint) { return bits.Mul(x, y) }
29 func lsh(x, s uint) uint { return x << s }
30 func rsh(x, s uint) uint { return x >> s }
31 func and(x, y uint) uint { return x & y }
32 func or(x, y uint) uint { return x | y }
33 func xor(x, y uint) uint { return x ^ y }
34 func neg(x uint) uint { return -x }
35 func loop(x int) int {
36 s := 0
37 for i := 1; i < x; i++ {
38 s += i
39 if s == 98 {
40 return 99
41 }
42 if s == 99 {
43 return 100
44 }
45 if s == 0 {
46 return 101
47 }
48 if s != 0 {
49 s *= 3
50 }
51 s += 2
52 }
53 return s
54 }
55 func mem(x *[10]struct{ a, b uint }, i int) uint { return x[i].b }
56
View as plain text