blob: cc16e625cd3c81cf6782c09a2f023b9d6484edca [file] [log] [blame]
// 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");
});
}