summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/harmony/bigint/mul.js
blob: 83a67007682dcbff1f288a63dfe78c21b016af5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Generated by tools/bigint-tester.py.

// Flags: --harmony-bigint

var data = [{
  a: "-be5e349bf5ad48e7a5d",
  b: "a47a19a48667620a82973579739e08c64651b3ede2c578ff975e",
  r: "-7a4f25aa8725368922062fc91a110352a660657ffb3a489126ded10ccd29d929120c926"
}, {
  a: "912d5d85aec5ec6caf90514f0ec005f711caac82960c0ee911ef30f145107ae236783e6",
  b: "0",
  r: "0"
}, {
  a: "-87c17f6930bdef7e7c7ae7dab8be3baa2e7d67",
  b: "285af6503c42d077a0d59558deb170bad",
  r: "-1566788db7747e33ddb6540190617b57856e5f3924447f9f400f34a9aa75aa7d20f2b9b"
}, {
  a: "-3d0fd72abc5fb82d5cf45679812b71",
  b: "-3c537c742e17c5fac136e33f5e7edf256ef52b6df",
  r: "e63a0402966391e13e600371183f223379b66912ee706a2b369668b3e33e9a15992d6f"
}, {
  a: "dfd77cf4b0d071df2487c9b77959ee027380a159b0",
  b: "-56300fb05cba28d5150892ff66e77",
  r: "-4b5c6a1976d3a318cb9f93e154dc362da4e740fa31d82baefead60c355bfea99eaa50d0"
}, {
  a: "-bea52261387bb2aaf8c61b5ee7bbf85b3bbbedfe60773ed9873cbceba078d3fecbb",
  b: "-2ad7",
  r: "1fe73453d2eabb331a676ede8eb9759c8c6bffe09c76947578e08b0152379841d867f0d"
}, {
  a: "5b5a3a047d8f7e1519d6d92d3241c0f32c4d789",
  b: "-4bd3e8c09b0ba71bc25416877a4c7135",
  r: "-1b0f0d6ba20fe60049c4a172e8b1fb9824c1e85e21f1ebe08556b7074d8d4f4ac90185d"
}, {
  a: "1b2c8263d4bac8cc825657f81fca6196799aff00fa960d5c04",
  b: "-6b140fca30c8037b18d88",
  r: "-b5dbba6fba700592408e2ebbba2d4c6557d61d1201e24314f690e77c0b59c68d8b1620"
}, {
  a: "dd74f1f92ab5b9e0b447b7fe9076f7",
  b: "-9dbb0acb24e6336fe4f37f8e942d1d5c22dfe4f34",
  r: "-88728628dd4ed79514e720448e4f9ad422ba6ca62cd61bf779cfb3cb12afb5bbe20632c"
}, {
  a: "-e97d2712832aa20a",
  b: "-cb98c0fa9b4b35fc7a4ebed6d3d106bb758c244eb756c75587300ad",
  r: "b9b1904d502a19d20cc7bd8e05670f667db817bb9104ef8acc747f3df6541eede4d80c2"
}, {
  a: "828ca2d8981f347f4bec14ba",
  b: "-8ce5b6b1c329477a0a728ed81331af1f03e3eaa1ccb2cb3",
  r: "-47da0e06c179e58b3e5d8abc4a2b274ede3a7d73c0b5fcb3690f0b544ed6c0b7120760e"
}, {
  a: "aade382f2483a571e12cb1796bd124e21c6014261cef5d733a1b35fb01db7232c5b",
  b: "-d34a",
  r: "-8d068c8b18b90f6aaf82ed3260f68bdb06bf64613cdda736fc33395b7d16688edb9d34e"
}, {
  a: "34188043594e64ac10b37923ad29b4b536a4098ce76c9133155820b7843de95af",
  b: "106952",
  r: "356f6c0aa4a1a0d27dd2e8867420eddcd9fb5614450d6bb85cba0071e03e4563a0b90e"
}, {
  a: "96b2a125fc041fe36aebe7dfd02a4f56b90",
  b: "-a9f9c57a732002abf0764868f297442f61d1",
  r: "-640ef4605c38f6643d60526833e7a3b7b71a72b7042434abc0ca600e7f79b3aa98e6090"
}, {
  a: "-ae8327a77a340d2c90c93bb0ebe02d7a77d7c2a4e8d21a21d0",
  b: "268a49068f2769f949d95",
  r: "-1a45bc5e1b636b28bf716dfeaf0599cd932270796233adf7d58b8d72d06ac580c323e10"
}, {
  a: "-a0adcb953540a4f25fc97a40a2c9285bfba7e70e4ffc",
  b: "fff2302a069e8f69d00e529a81b",
  r: "-a0a5204f09eeb3ecd9fe2c6de34d0e0ed70c6d1589d95fd83de33d921a3152dfe5bcf94"
}, {
  a: "-83771467194c5b612539be7228f366a8",
  b: "9412ce8f98510486287bc15c35883fff04d126e",
  r: "-4c0a803e9a079742969e01dbb7990566b2f5ac9658653c967b5d295f6a996ba1655ec30"
}, {
  a: "12c3327d3d7ed4b3180cc301f98d351804451be431137fa48aa67627db867a2cd",
  b: "-ee0af6",
  r: "-11724697fa94a9caafbee6e7b778ecae17ed7ebba5575296b1fc4995a12fe5c9a8872fe"
}, {
  a: "-5",
  b: "-a00c8e774e3d4a6fc2fa384382720700e49e3e4b882bb5c4c0dbe4cdcd92126731128b",
  r: "3203ec8548732742ecee319518c3a230477173779a8da8cd7c44b780503da5c03f55cb7"
}, {
  a: "a0a4dc9610ada50dfa633ad910a02aa20c85",
  b: "-4d7aa1dc1cc1d1767b4e25a839e7c177652",
  r: "-309e8a7c10fbc6b50f6ad012099765a35395b9d51112d50e0a8f3ac076942a9e5a0509a"
}];

var error_count = 0;
for (var i = 0; i < data.length; i++) {
  var d = data[i];
  var a = BigInt.parseInt(d.a, 16);
  var b = BigInt.parseInt(d.b, 16);
  var r = a * b;
  if (d.r !== r.toString(16)) {
    print("Input A:  " + a.toString(16));
    print("Input B:  " + b.toString(16));
    print("Result:   " + r.toString(16));
    print("Expected: " + d.r);
    print("Op: *");
    error_count++;
  }
}
if (error_count !== 0) {
  print("Finished with " + error_count + " errors.")
  quit(1);
}