]> Cypherpunks.ru repositories - gostls13.git/blob - test/ken/simpbool.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / ken / simpbool.go
1 // run
2
3 // Copyright 2009 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
6
7 // Test basic operations on bool.
8
9 package main
10
11 type s struct {
12         a       bool;
13         b       bool;
14 }
15
16 func
17 main() {
18         var a,b bool;
19
20         a = true;
21         b = false;
22
23         if !a { panic(1); }
24         if b { panic(2); }
25         if !!!a { panic(3); }
26         if !!b { panic(4); }
27
28         a = !b;
29         if !a { panic(5); }
30         if !!!a { panic(6); }
31
32         var x *s;
33         x = new(s);
34         x.a = true;
35         x.b = false;
36
37         if !x.a { panic(7); }
38         if x.b { panic(8); }
39         if !!!x.a { panic(9); }
40         if !!x.b { panic(10); }
41
42         x.a = !x.b;
43         if !x.a { panic(11); }
44         if !!!x.a { panic(12); }
45
46         /*
47          * test &&
48          */
49         a = true;
50         b = true;
51         if !(a && b) { panic(21); }
52         if a && !b { panic(22); }
53         if !a && b { panic(23); }
54         if !a && !b { panic(24); }
55
56         a = false;
57         b = true;
58         if !(!a && b) { panic(31); }
59         if !a && !b { panic(32); }
60         if a && b { panic(33); }
61         if a && !b { panic(34); }
62
63         a = true;
64         b = false;
65         if !(a && !b) { panic(41); }
66         if a && b { panic(41); }
67         if !a && !b { panic(41); }
68         if !a && b { panic(44); }
69
70         a = false;
71         b = false;
72         if !(!a && !b) { panic(51); }
73         if !a && b { panic(52); }
74         if a && !b { panic(53); }
75         if a && b { panic(54); }
76
77         /*
78          * test ||
79          */
80         a = true;
81         b = true;
82         if !(a || b) { panic(61); }
83         if !(a || !b) { panic(62); }
84         if !(!a || b) { panic(63); }
85         if !a || !b { panic(64); }
86
87         a = false;
88         b = true;
89         if !(!a || b) { panic(71); }
90         if !(!a || !b) { panic(72); }
91         if !(a || b) { panic(73); }
92         if a || !b { panic(74); }
93
94         a = true;
95         b = false;
96         if !(a || !b) { panic(81); }
97         if !(a || b) { panic(82); }
98         if !(!a || !b) { panic(83); }
99         if !a || b { panic(84); }
100
101         a = false;
102         b = false;
103         if !(!a || !b) { panic(91); }
104         if !(!a || b) { panic(92); }
105         if !(a || !b) { panic(93); }
106         if a || b { panic(94); }
107 }