vxx2 / vlib / v / checker / tests / shift_ops_expressions.vv
76 lines · 74 sloc · 837 bytes · 6d97b0a4075ebd8d85da8b604aa24cf529cbb24a
Raw
1fn left_shifts() {
2 mut a := 12
3 mut arr := []int{}
4 a << 1
5 if true {
6 a << 2
7 }
8 c := if true { a << 111 } else { a << 333 }
9 println(c)
10 a << 1
11 println(a)
12 5 << 9
13 for i in 0 .. 10 {
14 z := i << 5
15 i << 5
16 println(z)
17 }
18 //
19 arr << 1
20 if true {
21 arr << 2
22 }
23 d := if true {
24 arr << 111
25 777
26 } else {
27 arr << 333
28 999
29 }
30 println(d)
31 //
32 x := if true {
33 a << 1
34 999
35 } else {
36 println('---')
37 a << 9999
38 println('---')
39 555
40 }
41 println(x)
42}
43
44fn right_shifts() {
45 mut rr := 12
46 rr >> 1
47 if true {
48 rr >> 2
49 }
50 c := if true { rr >> 111 } else { rr >> 333 }
51 println(c)
52 rr >> 1
53 println(rr)
54 5 >> 9
55 for i in 0 .. 10 {
56 z := i >> 5
57 i >> 5
58 println(z)
59 }
60 //
61 x := if true {
62 rr >> 1
63 999
64 } else {
65 println('---')
66 rr >> 9999
67 println('---')
68 555
69 }
70 println(x)
71}
72
73fn main() {
74 left_shifts()
75 right_shifts()
76}
77