OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
6 | 6 |
7 cneg_and(x, y) { | 7 cneg_and(x, y) { |
8 if ((x && y) ? false : true) { | 8 if ((x && y) ? false : true) { |
9 return 0; | 9 return 0; |
10 } else { | 10 } else { |
11 return 1; | 11 return 1; |
12 } | 12 } |
13 } | 13 } |
14 | 14 |
15 cneg_and_not(x, y) { | 15 cneg_and_not(x, y) { |
16 if ((x && (y ? false : true)) ? false : true) { | 16 if ((x && (y ? false : true)) ? false : true) { |
17 return 0; | 17 return 0; |
18 } else { | 18 } else { |
19 return 1; | 19 return 1; |
20 } | 20 } |
21 } | 21 } |
22 | 22 |
23 cneg_not_and(x, y) { | 23 cneg_not_and(x, y) { |
24 if (((x ? false : true) && y) ? false : true) { | 24 if (((x ? false : true) && y) ? false : true) { |
25 return 0; | 25 return 0; |
26 } else { | 26 } else { |
27 return 1; | 27 return 1; |
28 } | 28 } |
29 } | 29 } |
30 | 30 |
31 cneg_not_and_not(x, y) { | 31 cneg_not_and_not(x, y) { |
32 if (((x ? false : true) && (y ? false : true)) ? false : true) { | 32 if (((x ? false : true) && (y ? false : true)) ? false : true) { |
33 return 0; | 33 return 0; |
34 } else { | 34 } else { |
35 return 1; | 35 return 1; |
36 } | 36 } |
37 } | 37 } |
38 | 38 |
39 cneg_or(x, y) { | 39 cneg_or(x, y) { |
40 if ((x || y) ? false : true) { | 40 if ((x || y) ? false : true) { |
41 return 0; | 41 return 0; |
42 } else { | 42 } else { |
43 return 1; | 43 return 1; |
44 } | 44 } |
45 } | 45 } |
46 | 46 |
47 cneg_or_not(x, y) { | 47 cneg_or_not(x, y) { |
48 if ((x || (y ? false : true)) ? false : true) { | 48 if ((x || (y ? false : true)) ? false : true) { |
49 return 0; | 49 return 0; |
50 } else { | 50 } else { |
51 return 1; | 51 return 1; |
52 } | 52 } |
53 } | 53 } |
54 | 54 |
55 cneg_not_or(x, y) { | 55 cneg_not_or(x, y) { |
56 if (((x ? false : true) || y) ? false : true) { | 56 if (((x ? false : true) || y) ? false : true) { |
57 return 0; | 57 return 0; |
58 } else { | 58 } else { |
59 return 1; | 59 return 1; |
60 } | 60 } |
61 } | 61 } |
62 | 62 |
63 cneg_not_or_not(x, y) { | 63 cneg_not_or_not(x, y) { |
64 if (((x ? false : true) || (y ? false : true)) ? false : true) { | 64 if (((x ? false : true) || (y ? false : true)) ? false : true) { |
65 return 0; | 65 return 0; |
66 } else { | 66 } else { |
67 return 1; | 67 return 1; |
68 } | 68 } |
69 } | 69 } |
70 | 70 |
71 value_tobool(x) { | 71 value_tobool(x) { |
72 return x ? true : false; | 72 return x ? true : false; |
73 } | 73 } |
| 74 |
74 value_negate(x) { | 75 value_negate(x) { |
75 return x ? false : true; | 76 return x ? false : true; |
76 } | 77 } |
77 value_and(x,y) { | 78 |
78 return x ? y ? true : false : false; | 79 value_and(x, y) { |
79 } | 80 return x ? y ? true : false : false; |
80 value_or(x,y) { | 81 } |
81 return x ? true : y ? true : false; | 82 |
82 } | 83 value_or(x, y) { |
83 value_and_not(x,y) { | 84 return x ? true : y ? true : false; |
84 return x ? y ? false : true : false; | 85 } |
85 } | 86 |
86 value_not_and(x,y) { | 87 value_and_not(x, y) { |
87 return x ? false : y ? true : false; | 88 return x ? y ? false : true : false; |
88 } | 89 } |
89 value_not_and_not(x,y) { | 90 |
90 return x ? false : y ? false : true; | 91 value_not_and(x, y) { |
91 } | 92 return x ? false : y ? true : false; |
92 value_or_not(x,y) { | 93 } |
93 return x ? true : y ? false : true; | 94 |
94 } | 95 value_not_and_not(x, y) { |
95 value_not_or(x,y) { | 96 return x ? false : y ? false : true; |
96 return x ? y ? true : false : true; | 97 } |
97 } | 98 |
98 value_not_or_not(x,y) { | 99 value_or_not(x, y) { |
99 return x ? y ? false : true : true; | 100 return x ? true : y ? false : true; |
| 101 } |
| 102 |
| 103 value_not_or(x, y) { |
| 104 return x ? y ? true : false : true; |
| 105 } |
| 106 |
| 107 value_not_or_not(x, y) { |
| 108 return x ? y ? false : true : true; |
100 } | 109 } |
101 | 110 |
102 if_negate(x) { | 111 if_negate(x) { |
103 if (x ? false : true) { | 112 if (x ? false : true) { |
104 return 1; | 113 return 1; |
105 } else { | 114 } else { |
106 return 0; | 115 return 0; |
107 } | 116 } |
108 } | 117 } |
109 if_and(x,y) { | 118 |
110 if (x ? y ? true : false : false) { | 119 if_and(x, y) { |
111 return 1; | 120 if (x ? y ? true : false : false) { |
112 } else { | 121 return 1; |
113 return 0; | 122 } else { |
114 } | 123 return 0; |
115 } | 124 } |
116 if_or(x,y) { | 125 } |
117 if (x ? true : y) { | 126 |
118 return 1; | 127 if_or(x, y) { |
119 } else { | 128 if (x ? true : y) { |
120 return 0; | 129 return 1; |
121 } | 130 } else { |
122 } | 131 return 0; |
123 if_and_not(x,y) { | 132 } |
124 if (x ? y ? false : true : false) { | 133 } |
125 return 1; | 134 |
126 } else { | 135 if_and_not(x, y) { |
127 return 0; | 136 if (x ? y ? false : true : false) { |
128 } | 137 return 1; |
129 } | 138 } else { |
130 if_not_and(x,y) { | 139 return 0; |
131 if (x ? false : y) { | 140 } |
132 return 1; | 141 } |
133 } else { | 142 |
134 return 0; | 143 if_not_and(x, y) { |
135 } | 144 if (x ? false : y) { |
136 } | 145 return 1; |
137 if_not_and_not(x,y) { | 146 } else { |
138 if (x ? false : y ? false : true) { | 147 return 0; |
139 return 1; | 148 } |
140 } else { | 149 } |
141 return 0; | 150 |
142 } | 151 if_not_and_not(x, y) { |
143 } | 152 if (x ? false : y ? false : true) { |
144 if_or_not(x,y) { | 153 return 1; |
145 if (x ? true : y ? false : true) { | 154 } else { |
146 return 1; | 155 return 0; |
147 } else { | 156 } |
148 return 0; | 157 } |
149 } | 158 |
150 } | 159 if_or_not(x, y) { |
151 if_not_or(x,y) { | 160 if (x ? true : y ? false : true) { |
152 if (x ? y : true) { | 161 return 1; |
153 return 1; | 162 } else { |
154 } else { | 163 return 0; |
155 return 0; | 164 } |
156 } | 165 } |
157 } | 166 |
158 if_not_or_not(x,y) { | 167 if_not_or(x, y) { |
159 if (x ? y ? false : true : true) { | 168 if (x ? y : true) { |
160 return 1; | 169 return 1; |
161 } else { | 170 } else { |
162 return 0; | 171 return 0; |
163 } | 172 } |
164 } | 173 } |
165 | 174 |
| 175 if_not_or_not(x, y) { |
| 176 if (x ? y ? false : true : true) { |
| 177 return 1; |
| 178 } else { |
| 179 return 0; |
| 180 } |
| 181 } |
166 | 182 |
167 main() { | 183 main() { |
168 Expect.equals(1, cneg_and(true, true)); | 184 Expect.equals(1, cneg_and(true, true)); |
169 Expect.equals(0, cneg_and(true, false)); | 185 Expect.equals(0, cneg_and(true, false)); |
170 Expect.equals(0, cneg_and(false, true)); | 186 Expect.equals(0, cneg_and(false, true)); |
171 Expect.equals(0, cneg_and(false, false)); | 187 Expect.equals(0, cneg_and(false, false)); |
172 | 188 |
173 Expect.equals(0, cneg_and_not(true, true)); | 189 Expect.equals(0, cneg_and_not(true, true)); |
174 Expect.equals(1, cneg_and_not(true, false)); | 190 Expect.equals(1, cneg_and_not(true, false)); |
175 Expect.equals(0, cneg_and_not(false, true)); | 191 Expect.equals(0, cneg_and_not(false, true)); |
176 Expect.equals(0, cneg_and_not(false, false)); | 192 Expect.equals(0, cneg_and_not(false, false)); |
177 | 193 |
178 Expect.equals(0, cneg_not_and(true, true)); | 194 Expect.equals(0, cneg_not_and(true, true)); |
179 Expect.equals(0, cneg_not_and(true, false)); | 195 Expect.equals(0, cneg_not_and(true, false)); |
180 Expect.equals(1, cneg_not_and(false, true)); | 196 Expect.equals(1, cneg_not_and(false, true)); |
181 Expect.equals(0, cneg_not_and(false, false)); | 197 Expect.equals(0, cneg_not_and(false, false)); |
182 | 198 |
183 Expect.equals(0, cneg_not_and_not(true, true)); | 199 Expect.equals(0, cneg_not_and_not(true, true)); |
184 Expect.equals(0, cneg_not_and_not(true, false)); | 200 Expect.equals(0, cneg_not_and_not(true, false)); |
185 Expect.equals(0, cneg_not_and_not(false, true)); | 201 Expect.equals(0, cneg_not_and_not(false, true)); |
186 Expect.equals(1, cneg_not_and_not(false, false)); | 202 Expect.equals(1, cneg_not_and_not(false, false)); |
187 | 203 |
188 Expect.equals(1, cneg_or(true, true)); | 204 Expect.equals(1, cneg_or(true, true)); |
189 Expect.equals(1, cneg_or(true, false)); | 205 Expect.equals(1, cneg_or(true, false)); |
190 Expect.equals(1, cneg_or(false, true)); | 206 Expect.equals(1, cneg_or(false, true)); |
191 Expect.equals(0, cneg_or(false, false)); | 207 Expect.equals(0, cneg_or(false, false)); |
192 | 208 |
193 Expect.equals(1, cneg_or_not(true, true)); | 209 Expect.equals(1, cneg_or_not(true, true)); |
194 Expect.equals(1, cneg_or_not(true, false)); | 210 Expect.equals(1, cneg_or_not(true, false)); |
195 Expect.equals(0, cneg_or_not(false, true)); | 211 Expect.equals(0, cneg_or_not(false, true)); |
196 Expect.equals(1, cneg_or_not(false, false)); | 212 Expect.equals(1, cneg_or_not(false, false)); |
197 | 213 |
198 Expect.equals(1, cneg_not_or(true, true)); | 214 Expect.equals(1, cneg_not_or(true, true)); |
199 Expect.equals(0, cneg_not_or(true, false)); | 215 Expect.equals(0, cneg_not_or(true, false)); |
200 Expect.equals(1, cneg_not_or(false, true)); | 216 Expect.equals(1, cneg_not_or(false, true)); |
201 Expect.equals(1, cneg_not_or(false, false)); | 217 Expect.equals(1, cneg_not_or(false, false)); |
202 | 218 |
203 Expect.equals(0, cneg_not_or_not(true, true)); | 219 Expect.equals(0, cneg_not_or_not(true, true)); |
204 Expect.equals(1, cneg_not_or_not(true, false)); | 220 Expect.equals(1, cneg_not_or_not(true, false)); |
205 Expect.equals(1, cneg_not_or_not(false, true)); | 221 Expect.equals(1, cneg_not_or_not(false, true)); |
206 Expect.equals(1, cneg_not_or_not(false, false)); | 222 Expect.equals(1, cneg_not_or_not(false, false)); |
207 | 223 |
208 Expect.equals(true, value_tobool(true)); | 224 Expect.equals(true, value_tobool(true)); |
209 Expect.equals(false, value_tobool(false)); | 225 Expect.equals(false, value_tobool(false)); |
210 | 226 |
211 Expect.equals(false, value_negate(true)); | 227 Expect.equals(false, value_negate(true)); |
212 Expect.equals(true, value_negate(false)); | 228 Expect.equals(true, value_negate(false)); |
213 | 229 |
214 Expect.equals(true, value_and(true, true)); | 230 Expect.equals(true, value_and(true, true)); |
215 Expect.equals(false, value_and(true, false)); | 231 Expect.equals(false, value_and(true, false)); |
216 Expect.equals(false, value_and(false, true)); | 232 Expect.equals(false, value_and(false, true)); |
217 Expect.equals(false, value_and(false, false)); | 233 Expect.equals(false, value_and(false, false)); |
218 | 234 |
219 Expect.equals(false, value_and_not(true, true)); | 235 Expect.equals(false, value_and_not(true, true)); |
220 Expect.equals(true, value_and_not(true, false)); | 236 Expect.equals(true, value_and_not(true, false)); |
221 Expect.equals(false, value_and_not(false, true)); | 237 Expect.equals(false, value_and_not(false, true)); |
222 Expect.equals(false, value_and_not(false, false)); | 238 Expect.equals(false, value_and_not(false, false)); |
223 | 239 |
224 Expect.equals(false, value_not_and(true, true)); | 240 Expect.equals(false, value_not_and(true, true)); |
225 Expect.equals(false, value_not_and(true, false)); | 241 Expect.equals(false, value_not_and(true, false)); |
226 Expect.equals(true, value_not_and(false, true)); | 242 Expect.equals(true, value_not_and(false, true)); |
227 Expect.equals(false, value_not_and(false, false)); | 243 Expect.equals(false, value_not_and(false, false)); |
228 | 244 |
229 Expect.equals(false, value_not_and_not(true, true)); | 245 Expect.equals(false, value_not_and_not(true, true)); |
230 Expect.equals(false, value_not_and_not(true, false)); | 246 Expect.equals(false, value_not_and_not(true, false)); |
231 Expect.equals(false, value_not_and_not(false, true)); | 247 Expect.equals(false, value_not_and_not(false, true)); |
232 Expect.equals(true, value_not_and_not(false, false)); | 248 Expect.equals(true, value_not_and_not(false, false)); |
233 | 249 |
234 Expect.equals(true, value_or(true, true)); | 250 Expect.equals(true, value_or(true, true)); |
235 Expect.equals(true, value_or(true, false)); | 251 Expect.equals(true, value_or(true, false)); |
236 Expect.equals(true, value_or(false, true)); | 252 Expect.equals(true, value_or(false, true)); |
237 Expect.equals(false, value_or(false, false)); | 253 Expect.equals(false, value_or(false, false)); |
238 | 254 |
239 Expect.equals(true, value_or_not(true, true)); | 255 Expect.equals(true, value_or_not(true, true)); |
240 Expect.equals(true, value_or_not(true, false)); | 256 Expect.equals(true, value_or_not(true, false)); |
241 Expect.equals(false, value_or_not(false, true)); | 257 Expect.equals(false, value_or_not(false, true)); |
242 Expect.equals(true, value_or_not(false, false)); | 258 Expect.equals(true, value_or_not(false, false)); |
243 | 259 |
244 Expect.equals(true, value_not_or(true, true)); | 260 Expect.equals(true, value_not_or(true, true)); |
245 Expect.equals(false, value_not_or(true, false)); | 261 Expect.equals(false, value_not_or(true, false)); |
246 Expect.equals(true, value_not_or(false, true)); | 262 Expect.equals(true, value_not_or(false, true)); |
247 Expect.equals(true, value_not_or(false, false)); | 263 Expect.equals(true, value_not_or(false, false)); |
248 | 264 |
249 Expect.equals(false, value_not_or_not(true, true)); | 265 Expect.equals(false, value_not_or_not(true, true)); |
250 Expect.equals(true, value_not_or_not(true, false)); | 266 Expect.equals(true, value_not_or_not(true, false)); |
251 Expect.equals(true, value_not_or_not(false, true)); | 267 Expect.equals(true, value_not_or_not(false, true)); |
252 Expect.equals(true, value_not_or_not(false, false)); | 268 Expect.equals(true, value_not_or_not(false, false)); |
253 | 269 |
254 | 270 Expect.equals(0, if_negate(true)); |
255 Expect.equals(0, if_negate(true)); | 271 Expect.equals(1, if_negate(false)); |
256 Expect.equals(1, if_negate(false)); | 272 |
257 | 273 Expect.equals(1, if_and(true, true)); |
258 Expect.equals(1, if_and(true, true)); | 274 Expect.equals(0, if_and(true, false)); |
259 Expect.equals(0, if_and(true, false)); | 275 Expect.equals(0, if_and(false, true)); |
260 Expect.equals(0, if_and(false, true)); | 276 Expect.equals(0, if_and(false, false)); |
261 Expect.equals(0, if_and(false, false)); | 277 |
262 | 278 Expect.equals(0, if_and_not(true, true)); |
263 Expect.equals(0, if_and_not(true, true)); | 279 Expect.equals(1, if_and_not(true, false)); |
264 Expect.equals(1, if_and_not(true, false)); | 280 Expect.equals(0, if_and_not(false, true)); |
265 Expect.equals(0, if_and_not(false, true)); | 281 Expect.equals(0, if_and_not(false, false)); |
266 Expect.equals(0, if_and_not(false, false)); | 282 |
267 | 283 Expect.equals(0, if_not_and(true, true)); |
268 Expect.equals(0, if_not_and(true, true)); | 284 Expect.equals(0, if_not_and(true, false)); |
269 Expect.equals(0, if_not_and(true, false)); | 285 Expect.equals(1, if_not_and(false, true)); |
270 Expect.equals(1, if_not_and(false, true)); | 286 Expect.equals(0, if_not_and(false, false)); |
271 Expect.equals(0, if_not_and(false, false)); | 287 |
272 | 288 Expect.equals(0, if_not_and_not(true, true)); |
273 Expect.equals(0, if_not_and_not(true, true)); | 289 Expect.equals(0, if_not_and_not(true, false)); |
274 Expect.equals(0, if_not_and_not(true, false)); | 290 Expect.equals(0, if_not_and_not(false, true)); |
275 Expect.equals(0, if_not_and_not(false, true)); | 291 Expect.equals(1, if_not_and_not(false, false)); |
276 Expect.equals(1, if_not_and_not(false, false)); | 292 |
277 | 293 Expect.equals(1, if_or(true, true)); |
278 Expect.equals(1, if_or(true, true)); | 294 Expect.equals(1, if_or(true, false)); |
279 Expect.equals(1, if_or(true, false)); | 295 Expect.equals(1, if_or(false, true)); |
280 Expect.equals(1, if_or(false, true)); | 296 Expect.equals(0, if_or(false, false)); |
281 Expect.equals(0, if_or(false, false)); | 297 |
282 | 298 Expect.equals(1, if_or_not(true, true)); |
283 Expect.equals(1, if_or_not(true, true)); | 299 Expect.equals(1, if_or_not(true, false)); |
284 Expect.equals(1, if_or_not(true, false)); | 300 Expect.equals(0, if_or_not(false, true)); |
285 Expect.equals(0, if_or_not(false, true)); | 301 Expect.equals(1, if_or_not(false, false)); |
286 Expect.equals(1, if_or_not(false, false)); | 302 |
287 | 303 Expect.equals(1, if_not_or(true, true)); |
288 Expect.equals(1, if_not_or(true, true)); | 304 Expect.equals(0, if_not_or(true, false)); |
289 Expect.equals(0, if_not_or(true, false)); | 305 Expect.equals(1, if_not_or(false, true)); |
290 Expect.equals(1, if_not_or(false, true)); | 306 Expect.equals(1, if_not_or(false, false)); |
291 Expect.equals(1, if_not_or(false, false)); | 307 |
292 | 308 Expect.equals(0, if_not_or_not(true, true)); |
293 Expect.equals(0, if_not_or_not(true, true)); | 309 Expect.equals(1, if_not_or_not(true, false)); |
294 Expect.equals(1, if_not_or_not(true, false)); | 310 Expect.equals(1, if_not_or_not(false, true)); |
295 Expect.equals(1, if_not_or_not(false, true)); | 311 Expect.equals(1, if_not_or_not(false, false)); |
296 Expect.equals(1, if_not_or_not(false, false)); | 312 } |
297 } | |
OLD | NEW |