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
38
39
40
|
test_exit_code 0 <<'EOF'
#include "../../helpers.h"
int main() {
ASSERT_EQ(123, 0 | 123);
ASSERT_EQ(460, 12 | 456);
ASSERT_EQ(8, 1 << 3);
ASSERT_EQ(336, 21 << 4);
ASSERT_EQ(13, 111 >> 3);
ASSERT_EQ(0, 15 >> 14);
int a = 5;
int b = 3;
ASSERT_EQ(1, a & b);
ASSERT_EQ(7, a | b);
ASSERT_EQ(6, a ^ b);
ASSERT_EQ(4, 2 + 3 & 4);
int c = 1 + 2 & 3;
int d = 4 & 5 ^ 6;
int e = 1 ^ 2 | 3;
int f = 0 | 1 & 2;
ASSERT_EQ(3, c);
ASSERT_EQ(2, d);
ASSERT_EQ(3, e);
ASSERT_EQ(0, f);
ASSERT_EQ(-1, ~0);
ASSERT_EQ(-2, ~1);
ASSERT_EQ(-6, ~5);
ASSERT_EQ(0, ~(-1));
ASSERT_EQ(5, ~(-6));
int x = 10;
ASSERT_EQ(-11, ~x);
ASSERT_EQ(-1, ~(x & 0));
ASSERT_EQ(-16, ~(x | 5));
}
EOF
|