| /* |
| * Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| * for details. All rights reserved. Use of this source code is governed by a |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| |
| library toInt32; |
| //import "../../../Utils/expect.dart"; |
| |
| int toInt32(x) { |
| x =x & 0xFFFFFFFF; |
| if (x & 0x80000000 == 0) { |
| return x; |
| } else { |
| return -((~(x & 0x7FFFFFFF) & 0x7FFFFFFF)+1); |
| /* |
| var m=x & 0x7FFFFFFF; |
| print ("m=$m"); |
| m=~m; |
| print ("~m=$m"); |
| m=m & 0x7FFFFFFF; |
| print ("m31=$m"); |
| m=m+1; |
| print ("m+1=$m"); |
| m=-m; |
| print ("m=$m"); |
| return m; |
| */ |
| } |
| } |
| /* |
| check(x, y) { |
| Expect.equals(x, toInt32(y)); |
| } |
| |
| main() { |
| check(0,0); |
| check(0, 0x800000000); |
| check( 0x00ffffff, 0x00ffffff); |
| check( 0x7fffffff, 0x7fffffff); |
| check(-1, 0xffffffff); |
| check(-2147483648, 0x80000000); |
| } |
| */ |