We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 1abf208 commit 2a09bd3Copy full SHA for 2a09bd3
Language/Expressions/Shift/integer_t01.dart
@@ -18,19 +18,18 @@ main() {
18
Expect.equals(16, i << 4);
19
Expect.equals(32, i << 5);
20
Expect.equals(64, i << 6);
21
- Expect.equals(-9223372036854775808, i << 63);
22
23
Expect.equals(0, i << 64);
24
Expect.equals(0, i << 65);
25
Expect.equals(0, i << 100);
26
27
- int j = 0x7FFFFFFFFFFFFFFF;
28
- Expect.equals(-2, j << 1);
29
- Expect.equals(-4, j << 2);
30
- Expect.equals(-8, j << 3);
31
- Expect.equals(-16, j << 4);
32
- Expect.equals(-32, j << 5);
33
- Expect.equals(-64, j << 6);
+ int j = 0x7FFFFFFFFFFFF000;
+ Expect.equals(-8192, j << 1);
+ Expect.equals(-16384, j << 2);
+ Expect.equals(-32768, j << 3);
+ Expect.equals(-65536, j << 4);
+ Expect.equals(-131072, j << 5);
+ Expect.equals(-262144, j << 6);
34
Expect.equals(0, j << 64);
35
Expect.equals(0, j << 65);
36
Expect.equals(0, j << 100);
Language/Expressions/Shift/integer_t02.dart
@@ -17,10 +17,10 @@ main() {
17
Expect.equals(0, i >> 64);
Expect.equals(0, i >> 100);
- Expect.equals(4611686018427387903, j >> 1);
- Expect.equals(2305843009213693951, j >> 2);
- Expect.equals(1152921504606846975, j >> 3);
+ Expect.equals(4611686018427385856, j >> 1);
+ Expect.equals(2305843009213692928, j >> 2);
+ Expect.equals(1152921504606846464, j >> 3);
Expect.equals(3, j >> 61);
Expect.equals(1, j >> 62);
Expect.equals(0, j >> 63);
Language/Expressions/Shift/integer_t03.dart
@@ -16,16 +16,16 @@ main() {
16
int i = 1;
Expect.equals(0, i >>> 1);
Expect.equals(0, i >>> 2);
- Expect.equals(1, i >>> 64);
+ Expect.equals(0, i >>> 64);
Expect.equals(0, i >>> 100);
- Expect.equals(0, j >>> 1);
- Expect.equals(0, j >>> 2);
- Expect.equals(0, j >>> 3);
+ Expect.equals(4611686018427385856, j >>> 1);
+ Expect.equals(2305843009213692928, j >>> 2);
+ Expect.equals(1152921504606846464, j >>> 3);
int k = 129;
- Expect.equals(4, k >>> 261);
+ Expect.equals(0, k >>> 261);
int l = 1295555555;
Expect.equals(l, l >>> 0);
Language/Expressions/Shift/integer_t06.dart
@@ -0,0 +1,28 @@
1
+/*
2
+ * Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
3
+ * for details. All rights reserved. Use of this source code is governed by a
4
+ * BSD-style license that can be found in the LICENSE file.
5
+ */
6
+/**
7
+ * @assertion N/A
8
+ * @description Checks that left shift works with big size integers as expected.
9
+ * This test must be skipped on JavaScript
10
+ * @author [email protected]
11
12
+import '../../../Utils/expect.dart';
13
+
14
+main() {
15
+ int i = 1;
+ Expect.equals(-9223372036854775808, i << 63);
+ int j = 0x7FFFFFFFFFFFFFFF;
+ Expect.equals(-2, j << 1);
+ Expect.equals(-4, j << 2);
+ Expect.equals(-8, j << 3);
+ Expect.equals(-16, j << 4);
+ Expect.equals(-32, j << 5);
+ Expect.equals(-64, j << 6);
+ Expect.equals(0, j << 64);
+ Expect.equals(0, j << 65);
+ Expect.equals(0, j << 100);
+}
Language/Expressions/Shift/integer_t07.dart
@@ -0,0 +1,31 @@
+ * @description Checks that right shift works with big size integers as expected
+ Expect.equals(0, i >> 1);
+ Expect.equals(0, i >> 2);
+ Expect.equals(0, i >> 64);
+ Expect.equals(0, i >> 100);
+ Expect.equals(4611686018427387903, j >> 1);
+ Expect.equals(2305843009213693951, j >> 2);
+ Expect.equals(1152921504606846975, j >> 3);
+ Expect.equals(3, j >> 61);
+ Expect.equals(1, j >> 62);
+ Expect.equals(0, j >> 63);
+ Expect.equals(0, j >> 64);
+ Expect.equals(0, j >> 65);
+ Expect.equals(0, j >> 100);
0 commit comments