Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: tests/corelib/bit_twiddling_test.dart

Issue 2771453003: Format all tests. (Closed)
Patch Set: Format files Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 // Testing Bigints. 4 // Testing Bigints.
5 5
6 library bit_twiddling_test; 6 library bit_twiddling_test;
7
7 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
8 9
9
10 bool haveBigints() { 10 bool haveBigints() {
11 return 100000000000000000000 + 1 != 100000000000000000000; 11 return 100000000000000000000 + 1 != 100000000000000000000;
12 } 12 }
13 13
14 testBitLength() { 14 testBitLength() {
15 check(int i, width) { 15 check(int i, width) {
16 Expect.equals(width, i.bitLength, '$i.bitLength == $width'); 16 Expect.equals(width, i.bitLength, '$i.bitLength == $width');
17 // (~i) written as (-i-1) to avoid issues with limited range of dart2js ops. 17 // (~i) written as (-i-1) to avoid issues with limited range of dart2js ops.
18 Expect.equals(width, (-i-1).bitLength, '(~$i).bitLength == $width'); 18 Expect.equals(width, (-i - 1).bitLength, '(~$i).bitLength == $width');
19 } 19 }
20 20
21 check(0, 0); 21 check(0, 0);
22 check(1, 1); 22 check(1, 1);
23 check(2, 2); 23 check(2, 2);
24 check(3, 2); 24 check(3, 2);
25 check(4, 3); 25 check(4, 3);
26 check(5, 3); 26 check(5, 3);
27 check(6, 3); 27 check(6, 3);
28 check(7, 3); 28 check(7, 3);
(...skipping 16 matching lines...) Expand all
45 check(0x2000000000000, 50); 45 check(0x2000000000000, 50);
46 check(0x2000000000001, 50); 46 check(0x2000000000001, 50);
47 47
48 if (haveBigints()) { 48 if (haveBigints()) {
49 check(0xffffffffffffff, 56); 49 check(0xffffffffffffff, 56);
50 check(0xffffffffffffffff, 64); 50 check(0xffffffffffffffff, 64);
51 check(0xffffffffffffffffff, 72); 51 check(0xffffffffffffffffff, 72);
52 check(0x1000000000000000000, 73); 52 check(0x1000000000000000000, 73);
53 check(0x1000000000000000001, 73); 53 check(0x1000000000000000001, 73);
54 54
55
56 check(0xfffffffffffffffffffffffffffffffffffffe, 152); 55 check(0xfffffffffffffffffffffffffffffffffffffe, 152);
57 check(0xffffffffffffffffffffffffffffffffffffff, 152); 56 check(0xffffffffffffffffffffffffffffffffffffff, 152);
58 check(0x100000000000000000000000000000000000000, 153); 57 check(0x100000000000000000000000000000000000000, 153);
59 check(0x100000000000000000000000000000000000001, 153); 58 check(0x100000000000000000000000000000000000001, 153);
60
61 } 59 }
62 } 60 }
63 61
64 testToUnsigned() { 62 testToUnsigned() {
65 checkU(src, width, expected) { 63 checkU(src, width, expected) {
66 Expect.equals(expected, src.toUnsigned(width)); 64 Expect.equals(expected, src.toUnsigned(width));
67 } 65 }
68 66
69 checkU(1, 8, 1); 67 checkU(1, 8, 1);
70 checkU(0xff, 8, 0xff); 68 checkU(0xff, 8, 0xff);
(...skipping 11 matching lines...) Expand all
82 checkU(0xffffffff, 31, 0x7fffffff); 80 checkU(0xffffffff, 31, 0x7fffffff);
83 checkU(0xffffffff, 32, 0xffffffff); 81 checkU(0xffffffff, 32, 0xffffffff);
84 checkU(0x100000000, 30, 0); 82 checkU(0x100000000, 30, 0);
85 checkU(0x100000000, 31, 0); 83 checkU(0x100000000, 31, 0);
86 checkU(0x100000000, 32, 0); 84 checkU(0x100000000, 32, 0);
87 checkU(0x1ffffffff, 30, 0x3fffffff); 85 checkU(0x1ffffffff, 30, 0x3fffffff);
88 checkU(0x1ffffffff, 31, 0x7fffffff); 86 checkU(0x1ffffffff, 31, 0x7fffffff);
89 checkU(0x1ffffffff, 32, 0xffffffff); 87 checkU(0x1ffffffff, 32, 0xffffffff);
90 88
91 checkU(-1, 0, 0); 89 checkU(-1, 0, 0);
92 checkU( 0, 0, 0); 90 checkU(0, 0, 0);
93 checkU( 1, 0, 0); 91 checkU(1, 0, 0);
94 checkU( 2, 0, 0); 92 checkU(2, 0, 0);
95 checkU( 3, 0, 0); 93 checkU(3, 0, 0);
96 94
97 checkU(-1, 1, 1); 95 checkU(-1, 1, 1);
98 checkU( 0, 1, 0); 96 checkU(0, 1, 0);
99 checkU( 1, 1, 1); 97 checkU(1, 1, 1);
100 checkU( 2, 1, 0); 98 checkU(2, 1, 0);
101 checkU( 3, 1, 1); 99 checkU(3, 1, 1);
102 checkU( 4, 1, 0); 100 checkU(4, 1, 0);
103 101
104 checkU(-1, 2, 3); 102 checkU(-1, 2, 3);
105 checkU( 0, 2, 0); 103 checkU(0, 2, 0);
106 checkU( 1, 2, 1); 104 checkU(1, 2, 1);
107 checkU( 2, 2, 2); 105 checkU(2, 2, 2);
108 checkU( 3, 2, 3); 106 checkU(3, 2, 3);
109 checkU( 4, 2, 0); 107 checkU(4, 2, 0);
110 108
111 checkU(-1, 3, 7); 109 checkU(-1, 3, 7);
112 checkU( 0, 3, 0); 110 checkU(0, 3, 0);
113 checkU( 1, 3, 1); 111 checkU(1, 3, 1);
114 checkU( 2, 3, 2); 112 checkU(2, 3, 2);
115 checkU( 3, 3, 3); 113 checkU(3, 3, 3);
116 checkU( 4, 3, 4); 114 checkU(4, 3, 4);
117 } 115 }
118 116
119 testToSigned() { 117 testToSigned() {
120 checkS(src, width, expected) { 118 checkS(src, width, expected) {
121 Expect.equals(expected, src.toSigned(width), 119 Expect.equals(
122 '$src.toSigned($width) == $expected'); 120 expected, src.toSigned(width), '$src.toSigned($width) == $expected');
123 } 121 }
124 122
125 checkS(1, 8, 1); 123 checkS(1, 8, 1);
126 checkS(0xff, 8, -1); 124 checkS(0xff, 8, -1);
127 checkS(0xffff, 8, -1); 125 checkS(0xffff, 8, -1);
128 checkS(-1, 8, -1); 126 checkS(-1, 8, -1);
129 checkS(128, 8, -128); 127 checkS(128, 8, -128);
130 checkS(0xffffffff, 32, -1); 128 checkS(0xffffffff, 32, -1);
131 129
132 checkS(0x7fffffff, 30, -1); 130 checkS(0x7fffffff, 30, -1);
133 checkS(0x7fffffff, 31, -1); 131 checkS(0x7fffffff, 31, -1);
134 checkS(0x7fffffff, 32, 0x7fffffff); 132 checkS(0x7fffffff, 32, 0x7fffffff);
135 checkS(0x80000000, 30, 0); 133 checkS(0x80000000, 30, 0);
136 checkS(0x80000000, 31, 0); 134 checkS(0x80000000, 31, 0);
137 checkS(0x80000000, 32, -2147483648); 135 checkS(0x80000000, 32, -2147483648);
138 checkS(0xffffffff, 30, -1); 136 checkS(0xffffffff, 30, -1);
139 checkS(0xffffffff, 31, -1); 137 checkS(0xffffffff, 31, -1);
140 checkS(0xffffffff, 32, -1); 138 checkS(0xffffffff, 32, -1);
141 139
142 checkS(0x100000000, 30, 0); 140 checkS(0x100000000, 30, 0);
143 checkS(0x100000000, 31, 0); 141 checkS(0x100000000, 31, 0);
144 checkS(0x100000000, 32, 0); 142 checkS(0x100000000, 32, 0);
145 checkS(0x1ffffffff, 30, -1); 143 checkS(0x1ffffffff, 30, -1);
146 checkS(0x1ffffffff, 31, -1); 144 checkS(0x1ffffffff, 31, -1);
147 checkS(0x1ffffffff, 32, -1); 145 checkS(0x1ffffffff, 32, -1);
148 146
149 checkS(-1, 1, -1); 147 checkS(-1, 1, -1);
150 checkS( 0, 1, 0); 148 checkS(0, 1, 0);
151 checkS( 1, 1, -1); // The only bit is the sign bit. 149 checkS(1, 1, -1); // The only bit is the sign bit.
152 checkS( 2, 1, 0); 150 checkS(2, 1, 0);
153 checkS( 3, 1, -1); 151 checkS(3, 1, -1);
154 checkS( 4, 1, 0); 152 checkS(4, 1, 0);
155 153
156 checkS(-1, 2, -1); 154 checkS(-1, 2, -1);
157 checkS( 0, 2, 0); 155 checkS(0, 2, 0);
158 checkS( 1, 2, 1); 156 checkS(1, 2, 1);
159 checkS( 2, 2, -2); 157 checkS(2, 2, -2);
160 checkS( 3, 2, -1); 158 checkS(3, 2, -1);
161 checkS( 4, 2, 0); 159 checkS(4, 2, 0);
162 160
163 checkS(-1, 3, -1); 161 checkS(-1, 3, -1);
164 checkS( 0, 3, 0); 162 checkS(0, 3, 0);
165 checkS( 1, 3, 1); 163 checkS(1, 3, 1);
166 checkS( 2, 3, 2); 164 checkS(2, 3, 2);
167 checkS( 3, 3, 3); 165 checkS(3, 3, 3);
168 checkS( 4, 3, -4); 166 checkS(4, 3, -4);
169 } 167 }
170 168
171 main() { 169 main() {
172 testBitLength(); 170 testBitLength();
173 testToUnsigned(); 171 testToUnsigned();
174 testToSigned(); 172 testToSigned();
175 } 173 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698