| // 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. |
| |
| var data = [{ |
| a: 0x2bf1f236c2df29f7c99be052dfe1b69ae158d777fea487af889f6259f472c0n, |
| b: -0xae0090dfn, |
| r: -0x1dde8b7f987479d7b308e2b8a122703d417f921fd4ab04fcac81439ace4f445c7bf540n |
| }, { |
| a: -0x71cd629b6682b5b1c50f9436ded88468bcn, |
| b: -0xb24ce1d11726048158fb42c02e9361973193n, |
| r: 0x4f42fbebca0bc1746d114996d9c9cceb4065c347da31dc0efa88db41f1f724aef81ff4n |
| }, { |
| a: 0xef7c15fb2256338bd0650fa51c28551108ccb9828850f1b415d0c8f1a47fc0e2f86n, |
| b: 0xc17n, |
| r: 0xb4f552dbf2c20292f5475d025276b9c70f16316c91e0a9a2833bf2d616bc484f808d0an |
| }, { |
| a: 0xcc8a5a56c623d9f9be2103bc237976f26n, |
| b: 0x13a02fec7cfd49c5a081c06bbbaac5c70dc3an, |
| r: 0xfae417740ef1963ad78aa4252159d986593845690f4f5fe759f6d913d79810473d69cn |
| }, { |
| a: -0x519n, |
| b: 0x7de5551df3ec2619a89139153663a79f8bdb47047423c8070d7cfddc26d43af8ee9n, |
| r: -0x281c60ee5b06ece38cc4c4bfd2242017c4ff0cd05b40a66abf3c22a1741efe09ef81c1n |
| }, { |
| a: 0x6fb9ba0d0n, |
| b: -0x86b45ffb80fbf2b61abc14b28855780f83e187fd6ae26e09d28d6f05260e1n, |
| r: -0x3ac9efdd4e930fcbf654819060b858f182f7768db6bc72deb8d734d2ea10fa02b656d0n |
| }, { |
| a: -0xde2e7a0883a63d69d2120108f92943e4a34b63e8468c12b38a0519a6498n, |
| b: -0xb1857781fefn, |
| r: 0x9a11f83db6da31f78a2415d3891f79a0f6aafc69553fb458a2bc3ae2e2f65cb09251e8n |
| }, { |
| a: -0x2c90284ebdb5237ba7c9562f596ef9a21254a3n, |
| b: -0xb55feab8b45cc1bcdcfc5585c9114de0n, |
| r: 0x1f929eda8d33ec2ded8d76382a4cb731f805d28e827521a27154b6618a6f87ed5215a0n |
| }, { |
| a: 0x11ffe68d26ca29eac43b64n, |
| b: -0xe3311b278fec1fb3f8f59acfd9147c773197fc54c66b25bdn, |
| r: -0xff95d530fd53e61744d86d09f9ab5401b1efb2133af5c47ffeca31aca22a4da414cd4n |
| }, { |
| a: 0xbda74de44eeb2995a4185325014863n, |
| b: 0xf99164c7248a0372d72d82cbf65fdb345c84bca6n, |
| r: 0xb8e3712f119fefa47168950100b33aa1ec4e61a970d0eec2d2dd4b925cc4dfd709a432n |
| }, { |
| a: 0x47fc0bb6d761e12a1f7cf2a14f4cc777486b22516ca339641fn, |
| b: -0xd2fa2494ae242494f307n, |
| r: -0x3b531808ad9095f9f904dba47ef4a0aef54f736cc2836accb7b1b70f07ee862e8729d9n |
| }, { |
| a: 0x91d09f35203fcf69974d347ab718912cn, |
| b: 0xfc2d9a00611e4e1767b67db898b951e5d2bbb9n, |
| r: 0x8fa3561bff2cc00a780a71e5b16d6092296514d401c88fc54e04a91062775cb4e40cccn |
| }, { |
| a: 0x5a5b1ede360dafcac08c92f4b809e401502df5ab8569303a2n, |
| b: -0xb64d963b1ac4eb46ddd65n, |
| r: -0x40582a6083cd0feb5b33ac138feaf9250b5084e561807e56a8415c810a1bf9861d48ean |
| }, { |
| a: 0xf68275dc25d6af7dde130n, |
| b: 0xfe330b766e44f479e342e3315812e977d4d5e39bffe42111dn, |
| r: 0xf4c697f78dc7c9b3207b50cf2cf3035aa065e96c37c0be3345f71f34096f057e76b270n |
| }, { |
| a: 0x77009ed053f71n, |
| b: -0x647aecfc2af4079a586fbba99070c3f51d5465d9a4fd8c12cdab10854n, |
| r: -0x2eb5627edb1072a65a1db2d243d0bf2eeb5c3ff6ad61ec1063e9ee40b783bd06d55914n |
| }, { |
| a: 0xccfa15bb6125b01bece5a919ab5e9128e784d63e50b5990ba8047a7effn, |
| b: 0x1a366ac48cdan, |
| r: 0x14fcf8728aa3dc5ef26b077dfc012d592c3a0cdfc3331942f921f037eea5af9eff9926n |
| }, { |
| a: 0x4fc54a59f2n, |
| b: -0x93bbcbd684987407c4ec4a3cbdc7c4821c33ca20ca8449b0055905e9a8ffn, |
| r: -0x2e08ce533fdc7bb8a3a2280cfb116c85837b74606ed25f8daad623baa4ac7de758680en |
| }, { |
| a: -0xcf21626f318089a85738f7e9cdcf0a477f4d880ce58679n, |
| b: -0xc7ca8704a49fdb8f9567c68cn, |
| r: 0xa1a6d11a77d8e1b723bfa0242407a454274145c31bb6ede29bb0e3883b08951b36202cn |
| }, { |
| a: 0x20c3cb19e51d4e2ac2c89f26e052bef8n, |
| b: -0xab2a148297108425ebd2fd17d897f647e0792fn, |
| r: -0x15e82b69a0eaed04cd140c6aed3b1f5bc0fc5de7ceddcb2d77615767b19dd82c744788n |
| }, { |
| a: -0xcc4f48f45d8165569348fb995370n, |
| b: 0x140cc111df0a06e32335478ded744eb3a737a53409n, |
| r: -0x10005f808c07a1d91faac090aad06804b491919a9d2ed58f6caa52448ad97bd486aef0n |
| }]; |
| |
| var error_count = 0; |
| for (var i = 0; i < data.length; i++) { |
| var d = data[i]; |
| var r = d.a * d.b; |
| if (d.r !== r) { |
| print("Input A: " + d.a.toString(16)); |
| print("Input B: " + d.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); |
| } |