| // Copyright (c) 2022, 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. |
| |
| // VMOptions=--intrinsify |
| // VMOptions=--no_intrinsify |
| |
| import 'package:expect/expect.dart'; |
| |
| main() { |
| // We do not guarantee any particular hash function for integers, |
| // but our implementation relies on the hash function being the same |
| // across architectures. |
| <int, int>{ |
| 0: 0x0, |
| -0: 0x0, |
| 1: 0x2d51, |
| -1: 0x0, |
| 0xffff: 0x2d50d2af, |
| -0xffff: 0x2d50fffe, |
| 0xffffffff: 0x3fffffff, |
| -0xffffffff: 0x3fffd2ae, |
| 0x111111111111: 0x25630507, |
| -0x111111111111: 0x25632856, |
| 0xffffffffffff: 0x12af2d50, |
| -0xffffffffffff: 0x12af0001, |
| 9007199254840856: 0x2f2da59d, |
| 144115188075954880: 0x26761e9a, |
| 936748722493162112: 0x196ac8cd, |
| }.forEach((value, expected) { |
| Expect.equals(expected, value.hashCode, "${value}.hashCode"); |
| }); |
| } |