Created
November 15, 2021 06:59
-
-
Save sambacha/e96b6248a068e76d542aa922358c2b13 to your computer and use it in GitHub Desktop.
Testing changes in bigint resolution and performance
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
const dataBig = [{ | |
a: '0x97468D4AD4D67B686E62DFBD1FCF3CC014EAC4F6', | |
b: '-0x7180ADBE99E60781C24F4512B2AC898A477A4', | |
r: '0x973F753FF8ECDD07F646BAC8CEA411F77C464D52' | |
}, { | |
a: '0xF14D7A877755019BDFF234078A4EEFE1FBD66B12FB91CD7A4E4513BFC7BDF79', | |
b: '-0x49DDF7F7FAC7718D6EC098DC0D288D60897', | |
r: '0xF14D7A877755019BDFF234078A4EA60403DE704B8A045EB9B56906973A5D6E2' | |
}, { | |
a: '-0xA97DB3B8FC8A43EA96B05ACE3CE64C3DD672801D89CD1647A8BEEBFA56041DEA9', | |
b: '-0xAD9044A2BCF0298506174771395ABBD6D381CFF3EF86EB8FDE9F4BA3DA7F6824B8D55', | |
r: '-0xAD90EE2070A9260F4A01DE219428F8BD1FBFA6666FA4755CF4E6F462C679BE28D6BFE' | |
}, { | |
a: '-0x1D33BFEB37FCB22DEB80A75B1185AAB7D3885237', | |
b: '0x68A4F720FA3412BE4CBAF308B5E671C0E53A6E3768B89D', | |
r: '0x68A4F703C67427865008C51D353F16AF5F8FB663E06666' | |
}, { | |
a: '0xE1FE3E87F01DDA958CFEE444208DFF50D597C5ADD2775F465031B', | |
b: '0x1496B8D2081AAEC73B3FDADB30D2E86660A7917F6888E29', | |
r: '0xE1FE3E9C86D6AC9DA7ADAB7F6068DA81A8802C0E7A08DEAED9144' | |
}, { | |
a: '0xC4006CF5F933CF40B548EFB7A9CAB0098286E21F7BA2AB919B0A8AE56A52', | |
b: '0xA5563BE931DA588A4E3FD5867D543F4FE00', | |
r: '0xC4006CF5F933CF40B548EFB7B42013C815A487A82086A8EA02DFCEDA6852' | |
}, { | |
a: '-0x144D521283F398493D82B34E22E7E4344DF9060870D2730A', | |
b: '-0x115445B6209291D1D417C835617C6E0D45999BC30CEB9809F6', | |
r: '-0x116893083316856A1D554AE8AF9F55F179E794C9155C6A7D00' | |
}, { | |
a: '0xACE82D3F4A1066B7B45B507131DEF061272E571E6624AEF3C', | |
b: '0xB1A36DAF994E7AAB934900EDDA1F5934362EB8545E8BEAE', | |
r: '0xAD99D0ACF9A9B5325FEE99721FB90FBA5B6485D6BA833ADEA' | |
}, { | |
a: '0x37A7605EF90755B479486CB67F933781DB3149', | |
b: '-0x55838028A16EBAB345F0E83C6A4045EA414B904065424FA53C18364E30', | |
r: '-0x55838028A16EBAB345F0B09509E14CE2EB9716F7F88BD01204965B1CE7' | |
}, { | |
a: '0xD73A68E80274D432BFED46D58E329679FB9302F8D73BBFEA97EE4019AA86FB31184ADF', | |
b: '-0x7203E9BC09D14DF679F39A043906C8F7A26CF0246F635', | |
r: '0xD73A68E80274D432BFED46D5871257DE3AF5EE196F9C864A545DD38A30602C2ED154AA' | |
}, { | |
a: '-0xB631517EB4884899297791C23753ADD917BBCE4B3CFDB27CF08A7362EF0C0CA', | |
b: '-0xF0291280E55B4D7BC8B43FBEBECBB77D2A9B441E138B4172809CDD1396', | |
r: '-0xB631608145B056EEDE4F4E4D7B4F99C5D333A0F4F13F93B5A4A19B6CBCDD460' | |
}, { | |
a: '-0x7EDB6C5182C4BB94A99EAEEF08A044CE90A4767712E25F006EA868F6', | |
b: '0x7AB9C22CF6073EA47D56A55F7D7243945A9758AA76BD4D591F696D1A6083628FFEF', | |
r: '0x7AB9C22CF5FF50EDB83E7913C427A9A96BA6CEA629D44311B7F83EF4707C78096F9' | |
}, { | |
a: '0x60C93C8C3B6E0BEE95E79AE7400C27AC2C34360E243', | |
b: '0x1A29DAE790619D7D790F13D2D155D5C78876356DC4B22D79', | |
r: '0x1A29E0F4242A613459CDFD314B0449C84AF0F83108130FBC' | |
}, { | |
a: '0x567C432D7FAC2BBA3D0F93A7BB4E87EC74160B46161A9F2644385A1', | |
b: '0x6186BE14DBD65D347F4EEF4E560655FE96FCF9BD8EC7E8A62EDF916', | |
r: '0xB80301425B8288EEBC5E82F61154DDEB0B130503A4E287CC7317EB7' | |
}, { | |
a: '-0x7B1498C8C04A57AC24681FAAD987FB4D53E64C1', | |
b: '0x6512A19A25DB817022550DF9637BE6D6C2C214B5CF7E', | |
r: '0x651299E8DC4EF56B7CDA4BB2E181393E430D3F776ABD' | |
}, { | |
a: '0x16E1AE7BB686D6D254FB987CEB4396ADDC462', | |
b: '-0x6ADFAB200990A566422350F828A22774EB692C3E536A4C0873CCED6E83FC83AF8EAC51', | |
r: '-0x6ADFAB200990A566422350F828A22774E9FB11569801DE9B4E7D33E6B5484A44B0E7EF' | |
}, { | |
a: '-0xF0FB0447A920E8392B4F83884E1039288EFE69695038EAB4E72223B3D0C8', | |
b: '0x9F7B9933C6F0AD6352EEC887E90AED8CD8BB74D15E73F125F3E5D85D61ED3A18304', | |
r: '0x9F7B9924B74068E8C0E044F53412B507F7B7E2486E8D5A90F0572D0EEFCAFEDB23C' | |
}, { | |
a: '-0x48A21A4754EB4CFC6B49E203471B1CE205A295B148BAE0F217017D8D92AF87A63D91DE', | |
b: '0x3F3689F628257C64E6D051B5B2C578659FF4542987B115887983', | |
r: '-0x48A21A4754EB4CFC6B0AAB7950F2F765A0BBC55F93081B79B16189396927D690B5185B' | |
}, { | |
a: '-0xBF04B188B660F87B0F319B0F60C0D38E3541C68DF', | |
b: '-0xBFB672A85C1C010F7D8DB54190FF82066AA7FDECF2441', | |
r: '-0xBFB731AD0DA4B7707608C4732C0EE2C73E36332EB8D20' | |
}, { | |
a: '-0xBF367649CAE5D242A55552CA219AC3773118E33CEFEFF4BBDEE59', | |
b: '0xE185FE94B1CC73D1B3020047A0E1D88D095D54DBF', | |
r: '-0xBF367649CAE4F0BCA6C0A0FDADC9107530D1425B1762EB5E8A09A' | |
}, { | |
a: '-0x2468ABA19D378B398BF7C6AC25E72C34637FB8623FFC2E1B14D0B9B91316A23', | |
b: '-0x9C8858262721EC82592051B5EF96005E97D982D52EB61C5B37AD9797', | |
r: '-0x2468ABAB65BD0D9BFE168ED1B7EC47935CDFBE4BBD945B6E00327F6C8DF01BA' | |
}, { | |
a: '0x54C9AB40D188E040E6B6A37128B2365CEA44977BEF55', | |
b: '-0xE0132B824D36803326550F8CF64A402307E9C114B', | |
r: '0x54BBAA0E19640CD8E3843E202FE2D1B8E81418DFDE0A' | |
}, { | |
a: '-0xBBEF64111360CBAF1D5005B8261853C6A0A78609F73FDB563535F65', | |
b: '0xFD04C2EAE72D080841D0BA199DC398884765B90A2E341F2177B71', | |
r: '-0xBAF25F4E28799EA7150E34FE0C7A902E18602050ED11A73713BE3F4' | |
}, { | |
a: '-0x467BEBF1758C728295F7EED8E55FF99B1CC8BFCF8', | |
b: '-0xD68B82E263F1EC59EDAB5D78F7AD3B4FE80AD', | |
r: '-0x467CC27CF86ED6748251DC8442D8F1485818A7DA5' | |
}, { | |
a: '0x42265B0A9FCF2FA005A11020DE183CE18BB1BFB19F1AE04CBC01575E782D72540F78', | |
b: '-0x824B4100BFE603165C4E7E931E94E4AC8333AE19801AE7279812476DF72ED88E', | |
r: '0x4225D8BF5ECE6FBA028AB3D25F851E4CA7053C7DF1016031D4D9BF4C30BF7B2536EA' | |
}, { | |
a: '-0x458F06E0245ED0E827FCC337F9085ED8DE1', | |
b: '-0x5273F26AAC3545B2D8CEFECF1BBC9422B71FBB98', | |
r: '-0x5273F6C39CA347F8C5DD814EE7F013B33D0D4979' | |
}, { | |
a: '-0xB129DC20AC42F165330210051451AEABF4FF6F4BAF', | |
b: '-0x76AB6BAD0FBCC6AE3A24A9951AB4D26147F872C965D89', | |
r: '-0x76B67E4AD1C78ADD5077D9B61B06177C32B7C2C05A938' | |
}, { | |
a: '0x1FBD900F0C0B9C4CE96053971F8FAE263740912CB399EF8649A8EE2F467BF1', | |
b: '0x68FB86FBD978FC3E64A7A96115B8243793EE9A5020D6C27F3199C3', | |
r: '0x1FBD900F75072348C2D94FD5843757874CF8B564478889D66A7FB0AE7815B4' | |
}, { | |
a: '-0xBF2F0CF5CFFBB8DA5BC655B220BE48664BA3D1F66F9018170', | |
b: '0xA9FC5AC4C8FA3E1486EE166ACDD980F5AB8ED450C8EEF5C5B682099CF4A72734449C', | |
r: '0xA9FC5AC4C8FA3E1486E22379FE7C813A1DE917EB6DCCE9E1301D4F5FD5402E32C32C' | |
}, { | |
a: '-0xD5515A6E316DBF9FEE9E5C2A59AC9FF491B61A', | |
b: '-0x9AB05AB5716AD768086C0014599A8EF52C44DA0EE232C4F10486F', | |
r: '-0x9AB05AB5716AD7755D81A6F7707688F4162A9CB47CFCC43A1FE89' | |
}, { | |
a: '-0x7E6525841BAC52851CC977A158B9185B5FFDB56FBA8', | |
b: '0xF8A84CC34CF8AD2DD36C70983BE46188F6E4763D761DEA70D2AA41A7690DE319FBFA', | |
r: '0xF8A84CC34CF8AD2DD36C709833FE0F30B529B115245152F6BD1EB021B30E07C30052' | |
}, { | |
a: '0xF8EFDFEB8ECA68C7CFFF9C9E365879E491E28C59B1F4BE246155E25A8B63F029854076', | |
b: '0x21B060150D6EC1A5361B9D67FB2065700DB540', | |
r: '0xF8EFDFEB8ECA68C7CFFF9C9E365879E4B392EC6EBF637FC997717FC28684559992F5B6' | |
}, { | |
a: '-0x98832E7A1EA5FC7612B6137DF6DD2007603BA22A0F037F', | |
b: '0xD0DBA0D9D28B997E07C5050D3E33E6E2827E', | |
r: '-0x98832E7A1DD520D538E387E478D55B0252FD6E432C8101' | |
}, { | |
a: '-0xE58F308336C2AA03CEA3E54CCF96E3349A10055E0DB25D7CFBA', | |
b: '-0xD26865DF3F200066AF49089AA3B1305670538CCDC7878632682B269FC27B72D1194B57', | |
r: '-0xD26865DF3F200066AF57618DABE49C811090770C1C547FA09B74C7A0185C4DF6F11B11' | |
}, { | |
a: '-0x40B9A42E1AF968001F40E124941B94905D32D28BAF65015319FA2F0A3ED6160D1080', | |
b: '-0xC6864646AD063AD316C76B2E357622799C252690126370FCD2A1B653B', | |
r: '-0x40B9A42E1B05D06483ABB188414D0107101629EDD6FEC3A582FB55414EA3402875BB' | |
}, { | |
a: '-0x81D48B1431CB0B9B8ACEF8D18941AC9FB7D5B096713F2247', | |
b: '-0x4CDEAF503AEA7DCD6291012124B4C76D4BFAF4C5AE7334951BF', | |
r: '-0x4CE6CC98EC2D9A7E1C49AE10B1CD5B8815F67220B7DA4887406' | |
}, { | |
a: '-0xA33F7EF022EEF19832853D977534A26B10317E55CAEBE90D56723EDD418BCFF', | |
b: '0x29623560E9C44E20865F768910A15D00B46E6461597DA832C7FE13CE559DFA', | |
r: '-0xA0A95B9A1452ACB62A1F462EE42A8C9B04EA980FB5540E8A29F25DA05C31F05' | |
}, { | |
a: '0x3EF19643F7BE58F345A940654055F34F5FC6C', | |
b: '-0xC5DF527DB3AE6362A40216676A1F19A964F2A626405292866', | |
r: '-0xC5DF527DB3AE24710DBE1EA9112BD400248D65D04D0332BFA' | |
}, { | |
a: '0xD559A5BE75D10E5D5456928EBD94033CC62E2D6D4D2B23002A1', | |
b: '-0x2C04E16303199870B297DEB436A2ECC3BF9CD7EE380EECF4EA0494AD6421BC', | |
r: '-0x2C04E163030C42D656B081A350CDA75A96B0FEAE04428A12132FC1FB341F1B' | |
}, { | |
a: '0x2C7CE7EE92238058E1423948336FEA2F35CD3F333379056EDA5614C981101E', | |
b: '-0x9BDB6886BCE8BEF3037F0CE6F198FF2EEADABB42077E0F64633BE28F28398D5', | |
r: '-0x99139A07D3C686ED756AE9526E62008BF77DE74ED4467F0D7596814290288B7' | |
}, { | |
a: '-0x10C2A4118CF3269915514F317C0B40F65BE09A03735441A919427', | |
b: '-0x1017C21ADEEC725BDEAAEB55C39270FC4237BF2C27B352BCA07B0C', | |
r: '-0x1123EC5BF7BBA4C570000048DB53250BA7F5C8CC5EE896D7320F33' | |
}, { | |
a: '-0xDBEF94E3109258D853B08D6EA270BDC46614CE1D286D44EAA17CF8F73A859263B1A5C', | |
b: '0xE78E8A61B19175830D28DBFAC99FF949928DD769C850', | |
r: '-0xDBEF94E3109258D853B08D6E93F7D51E4AFBB6C4F79AB72AF4E2F962A15CB4ED1520C' | |
}, { | |
a: '0xCE104E9E0DED89D59FE594221E47EE6476C6B033B727F557931261A50C47', | |
b: '-0xA5EA8C288B808D745D96EA3B389A92E8549C2FF26BA4B3C2E0C3A', | |
r: '0xCE104E93AF44C74CE7DCBCDC44D94AB0ED1D81AE6D64F630D8C72577000D' | |
}, { | |
a: '-0x810E2E86968247CFF858290E5C95B707389F2D5D28C1687E665', | |
b: '0x9C1A0E53FBF47844791FBC13A8A47EFD2135CFF8CCBD02363C493A88912DE8', | |
r: '0x9C1A0E53FBEC676190B653EF2BA4F97A9050069D5C4978436676AE72094783' | |
}, { | |
a: '-0x71AD4D10F4C98B84566F45BD730574780AE6C8B906', | |
b: '0x92D17A98F52A39641A5C3790474283186E2A6CEE4D', | |
r: '0x21242D880060ADDFC3ECF1D2D43D0EA06343A43547' | |
}, { | |
a: '0x73D5173DFE4A30B05F5B8D1329601B8FADECDC4F28', | |
b: '-0x51EE6B86B2D1E0CC5C0C41D22C8E3ABF41DBF2AFB3854C4D9ED9AEEF56AB', | |
r: '-0x51EE6B86B2D1E0CC5B986CBAEE8FF08E917C9722A05BEC320F2BC2130783' | |
}, { | |
a: '-0x4ABC3784E01D3FBAEAB4D126D0529B20AAC2234D9AAEE474', | |
b: '0x7C5483B63CB169EFB5CDA48F9C529F05D0694833337768F15B4D9A684C20749C95EA', | |
r: '0x7C5483B63CB169EFB5CD59D364CDBEE890AE5D7E6250989EC02CEFA628D2D9EDB176' | |
}, { | |
a: '-0x2221B40325AC8D459945871766E5B439CE7C', | |
b: '0x5F4A9CBAC95FB44E64CFC136A9067DE818D4F20895957627995F7A58C79', | |
r: '0x5F4A9CBAC95FB44E64CFC13486EB3DB5BE0C1DAF013D04B12B0436BBDFD' | |
}, { | |
a: '-0x353EA60A355E92655B75E9B856A4090103B5C08AB53952F49A', | |
b: '-0xC6D7DA13ABB53927A078829303F0AA29A6CC38954372B19DDB797370229CFBFB0', | |
r: '-0xC6D7DA13ABB5392AF462E33659D9D07F5E2AD41AADB341AE16D57C1B76322B44A' | |
}, { | |
a: '0x1D46972B1AE1D3E60F1DCB8DE78D52817165219B401535C9A76641E7F7A916F62', | |
b: '-0xE2B03DE809E8CEE7A206C87E8957ADDA488B63E9526A9F', | |
r: '0x1D46972B1AE1D3E60F0FA08A090CB3F482EB012EB82CA04EC9C1B931B913F04C3' | |
}, { | |
a: '-0xD8B7A232678FAF3C2A19C4CF9FCA08F62FB7639C8EC3EFF85A52852FAA009E46', | |
b: '-0x54F6CD96BE3E7FE6D67F53810764EB90510E7D4CBC6497C2ED963DFC2', | |
r: '-0xD8B7A237B6FC88A80E01C33D07BF4106A6061CA19FABC4C4209C015E83647E08' | |
}, { | |
a: '-0x217FECE2B18369A2C6AF26C24844A8A0E2EB1C', | |
b: '0xD91E616CD63A717467B72A6F696F2321D610', | |
r: '-0x20A6CE8144AD2F3152476F97D8DB397DC1150C' | |
}, { | |
a: '-0x1C6E33C836FCCBBB75362C842570FD43A6E994C00D0645409891845327B1ED', | |
b: '-0x163E47632BDC5A2829C2F698303640CA3FEB0D5FED57059E7C92405FB54D8529EFC893', | |
r: '-0x163E4763484A8DF060BFC253A56C6D4E655C0AA394409A5E899885A04DDF097D177A80' | |
}, { | |
a: '0x6194FA02109A993822D5C299006BF5178F3495BA3BFA21D96', | |
b: '0x8C0CA5571F7657C8BC6FC958FBE5F2A67CBD8036DB413A0D1D19F305B95601DA66', | |
r: '0x8C0CA5571F7657C8C28918F91CEF9C39FEEADC606B47F95E960D3C615D15A3F7FC' | |
}, { | |
a: '-0xA5E79576A773893219D5CFEEFB85898EA673FF1E', | |
b: '-0x725C8F85B63B5F7458246E768BDBF951C6700E5616B4BA49EA9A967774AF2', | |
r: '-0x725C8F85B63B5F74582478D5053363C8FF032FF373B3AA02433380DEB4A10' | |
}, { | |
a: '-0x588884C45D491A1F79DCCEB8B2617E10CC23D566B', | |
b: '-0x1374684D6FD083105D59D2CD09E7B20A4BA540FCA9AC9C8C11F139083EE27B', | |
r: '-0x1374684D6FD083105D59D8559233F7DEDD47389A769827B229D245CA7C38E6' | |
}, { | |
a: '0x2F1F1D82D14BDBEE9B5E084C86E2DD4988209F8BF579F3C', | |
b: '-0xE91A2F411B201AA419A9BEFEDB9170688FCCB42B8DA9343E2AF', | |
r: '-0xE91A0021FD9D49583DBB23A0D344E985B2832C0AEE1D3EC4373' | |
}, { | |
a: '-0x9F8788EFA048FC2C1505D78E6CFFF6A10209D6C099E8B0D8FB8163D99FB7308AC7E35', | |
b: '0xFEFAD924D2B9C5CCC5D5D926F22FFC2FAFA1', | |
r: '-0x9F8788EFA048FC2C1505D78E6CFFF6A0F21A292E4CBD147C2F240647309430C7CCE94' | |
}, { | |
a: '-0x65CB3D864995C7C21D4E2F2D3559DE0F7515F800038EB8E2A5A011488DB89DF', | |
b: '-0x78886406F93746FA5281122E1E4D64B0D3BB38CCD82BB0AA608', | |
r: '-0x65CB3D864996404A815528647C5430908744164D683F8C9DDE6CE9743E62FE7' | |
}, { | |
a: '0xCCB51CF096FEAC9C37BFA47F039803854AF19CC5', | |
b: '-0x703DFC82F3153DC05DF52F94179FCB128E85373FFE071A4A254B', | |
r: '-0x703DFC82F314710B410498956B039352EA0633A7FA81CF588886' | |
}, { | |
a: '0x4D6D1634425A399A6C2555CBB1630F6D6E68CB58C725D2CF440EED39B', | |
b: '0x23737F5AA0C4B0AE31B60289991B865544D329382', | |
r: '0x4D6D1634425A399A8F98D5265227C01BA01ECDE26041592488E21671D' | |
}, { | |
a: '0x7E4170000A03F5A2AAC7BC37B5DEE84ED736CCC6E8702A3DEB806BF88FEE045EC713F', | |
b: '0x9A3103E99809D4A4B2E3E567115C757BD163D9D2C45CB87', | |
r: '0x7E4170000A03F5A2AAC7BCD1E6E2D1E6E10B7179CC55914F47F5E7C9F3C7D72323CC6' | |
}, { | |
a: '-0xCBE434AA27BC8FC038BEAD0E96C4692CA5CB1C', | |
b: '0x75FB9C01DC2A9BF96BE5765375CDD268D1A3B72B4F4A', | |
r: '0x75FB9B35F7F5F1D1AF55B61AB720C3D20D3A8A85842E' | |
}, { | |
a: '-0xD3C0C0FC3FD1A171765CA480B99BBF80B374CCA1441FFC03A6', | |
b: '-0x16885AEBF8B44E693787D20B53E647F2962C7', | |
r: '-0xD3C0C0FC3FD1A2D9FC0B640BFE8252F9309581DFA89F25666D' | |
}, { | |
a: '0x8E15E5A069EE3635CCDB2535F4A4678D941AA560A3D94DDA625B70B317E90', | |
b: '0x295E026AA1850C41AB838C5A3E964D7F5C187208706A01A73DD', | |
r: '0x8E15E5A06A179438377CAA42364FEB19EE593BAE2335664C6ACBDAB4BF26D' | |
}, { | |
a: '0x151A1E18F23FB4F432BC7201995DB1833415E9F2', | |
b: '-0x69A7E009A48E3A85EF97DAE68D2A9F518AD2979986366EBAFA9F424D5', | |
r: '-0x69A7E009A48E3A85EE463904FE06A40247A6D0796CA093A2C75DE3AE3' | |
}, { | |
a: '0x483F74BBF1A96AC6CD79CA5A304C52ABCB4BAC956B7BD59CFAD83DB70D60CDC9FBA1', | |
b: '0x7FC6C07FBE50BA80C4F7D0E808FC750016B756D062D325EBA96F05', | |
r: '0x483F74BBF1A96B46943A4A188106D370C31C949E67F0D5B3B22F0E19E086B9736AA6' | |
}, { | |
a: '0xA693F3F849C2BE1D6F3A753CF4E7B9F82C3502ACFAE858715CA9F7E90CA4CA1', | |
b: '-0xEA8648FA30FFDCC0072F74D9C210EBD3F719DBFDB6A8E645', | |
r: '0xA693F3F849C2BE0EC6D5E599E4E9EDF7B93DB510D9D99B31EB0C380DA21665C' | |
}, { | |
a: '0xC2F973E9830AF932CC86104C6AC036A3023651044B88126FC49', | |
b: '0x74C22293A0CE2F88393A72DF354120B82DC', | |
r: '0xC2F973E9830AF933414832E00B8E662B3B70C3E380C93327F25' | |
}, { | |
a: '0x8D5BC96D8AD744534D2C92058AAAA20AED9E5EC328B5D', | |
b: '0x4A98E77D8878C232C84B90CC55EA48EB995F499925FD0A8B78FAE00FE', | |
r: '0x4A98E77D88794F8E91B91BA39A3D96182B64D443C807F829D7BE08C5B' | |
}, { | |
a: '0xA8067A7361C725D60EE20D5C4AE11700E2F6A284BCECF74F19C28E73398E600A6', | |
b: '-0x19081B94FC978A7FA95D92496BA5396751E81A33B1F4982A34', | |
r: '0xA8067A7361C725D47E60540C81686F064D1D7DEE029960D9FB40EB381A44DD672' | |
}, { | |
a: '-0xEF3AE77DFA0F2988F6488A5377D054D9613CD41CCA4', | |
b: '-0x719757FF18DA24B4FAC37D4D14276627B6741D853AA238ABF97E0D408568CB50383', | |
r: '-0x719757FF18DA24B4FAC37D4E03624DA5B083470E30EAC2FF714E6219E6A59F6D027' | |
}, { | |
a: '-0x8D5B87C6D19D03749455ED5920E8528476F0E5D396CBE4AC', | |
b: '0x88D75FA4027CFF3DCC2675764C45F79F05217B93A07230DC63F1F47AF5F', | |
r: '0x88D75FA4027429854FB95BA614FCB2402F8F6D0E782AC1CE06B887BCAB3' | |
}, { | |
a: '0x5153AB4FBDC1B47C3CEDDB6458A60ECF06522A0AA336A80', | |
b: '-0x661B2A6F02E6B0A65EDB10EF2005A3CC2BE1AE40C', | |
r: '0x5153AAE9A2974579563D35057D951FAF00AE5DDEC188674' | |
}, { | |
a: '0x6B531282F0A28634BEDAA7512A5605A7F007', | |
b: '0xE7E3903201ADC9D410F3A52542345292B4818', | |
r: '0xEE98C15A30B7F2375CE14F9A54D9B2ED3381F' | |
}, { | |
a: '-0xC06F0685D9DC17E6839704F73D2538177AE6DFA23', | |
b: '0xA63E00CC920166B4D4558FE859B7D62CD1A', | |
r: '-0xC06F05DF9BDB4B5482305022E7954FBDC310B2D09' | |
}, { | |
a: '-0xE7FB8A994ABB734D490B4D5C5C24CD0086E4CDA8AA04D', | |
b: '0x81EBCE4BFA9AD05A6B31E3C1A90FA8FDF09A4', | |
r: '-0xE7FB8A98C8CFA5014E707D01F0F2E93EDDD524AAB96A9' | |
}, { | |
a: '-0x87DD921A5178F211E9EDA42708532556906384D7E6C4E0343D69883971C069839A', | |
b: '0x4843A0BB4ECA7C4FB8F4C61F66828363F48629DC32B99A21541E4E4', | |
r: '-0x87DD921A51746DD7DE38B77F4357960A2E6D1CAFB08597D19FA65C9FCFAB279EB6' | |
}, { | |
a: '0xA17C1E8FD293890CA1425C1080A2B8F8DD2BDBFFF882D73736E9B360F20A2A857', | |
b: '0x1B23782CADEED569C9912734A5698EB870353D231D51F67B', | |
r: '0xA17C1E8FD293890CA2F493934B81A64F79C4EE7342D97022BDED073323DF49ED2' | |
}, { | |
a: '0x6318ED1B68087B2194DFF33FC29FA0C79723249595A926DE030040E', | |
b: '-0x36E756D6C6868DAA5DE00C34C802D855DE498F56B707C6', | |
r: '0x6318ED1B649A05B428778A651CC1A0044AA2F71037C48DE8978FC48' | |
}, { | |
a: '0x73B820045128C1E4E3B710EEFE373423E2A10E1F1D89CA8702E50B96A95E973AD5590', | |
b: '0x1F63B2731388DA9D4749906B181885EBE1CA0667982DF5A4C2B206418022BA94', | |
r: '0x73B821FA8C4FF31D7160E563973DE5A56AFFCC3BBDF04409E23F57C1C9C2AF3D01024' | |
}, { | |
a: '-0x560617B14946BF07EEFC2F2C6353B77688EEB2E55925010184B2956604AD', | |
b: '0xD0F60495C49E2E0C39E0B181F3BFD21546D3C', | |
r: '-0x560617B14946BF07EEFC2F1F53F36E1A3F0BD221BB19E8E248B574119771' | |
}, { | |
a: '0x703F5300AEC2CA1E78C233876EE27BF7DA21CE22B1189A3D07B1C4E3104EAFE76', | |
b: '-0x1E76EBE82275FBCC4E3D0C98E5EB39650DFF6007E282590D02BF6E8', | |
r: '0x703F5300AEA45332909FBD8BA2943EEB413BE2E94C0A9ADCFFCF428A034BF078E' | |
}, { | |
a: '-0xDAA4178697B4430F63C7E374DD1351FDA815EAA7', | |
b: '-0xDF0C6136DD43475CA6168D2134902DD2E92ABA6C7BC1', | |
r: '-0xDF0D3BDAF4C9DF10E925F0E918050AE63B2862826668' | |
}, { | |
a: '-0x32CE7165DF4D3A015137AA03B375A86171671B5052A85EC0A2601', | |
b: '-0x8A783F949858C6DE4EC32C13F7094568EFEFF6F4D1A70D99E6AA484B58DB30FDEB', | |
r: '-0x8A783F949858CA0B35D98A08CAA95A7C6A90322C2C2D24B0585F4D75DEC73B23EC' | |
}, { | |
a: '0xBC8A4809A0C1D9F23B56F7E46D86BD1FAA48189', | |
b: '-0xF8B014BD9E3E69E4731C7F09DAA26445B2E769E66498C65EF1F494E4E15641B7E6', | |
r: '-0xF8B014BD9E3E69E4731C7F09DA969BA1324D5DC8C57510EF73ADBC790F5B9D365D' | |
}, { | |
a: '0x7E879FA788542E38BC52FD599BCD01697CA7657979E868914ACCF3B', | |
b: '0x85DCD9330AF40F979B61DE6B94E9FB9BCBB502D4D8BF7D89DBB9A6041550669FE1', | |
r: '0x85DCD9330AFBF81195DA63AE7875C0CBA14EBFA4EF5748003351448A9E65136F1C' | |
}, { | |
a: '-0x1F0E17AA7BC85D64A8199E95647065ED0261', | |
b: '-0x5EAB58C7DBB8C5DC13B7A83BE0D093E535A09D7C2AB60', | |
r: '-0x5EAB58C7DDA9A756BB742E122B522DCE8BE7A3DAFADC1' | |
}, { | |
a: '0x18E746EC8287B661940764F5804567042F700A40253B', | |
b: '0xBA05F7FC06485DA906DE7EBADC92CB2B5FCC7CD5D5658', | |
r: '0xBB946C6ACE70D90F201EF50A3497219BA2C37D79D7B93' | |
}, { | |
a: '-0xB55FEBE94B4FBA5CB6CA812AE26F1EDD61975B8BD963FB94E3E159D26590A438902F27', | |
b: '0xCB10CD49F13AAAB8926C41751416D2B50AB909D228A700D28', | |
r: '-0xB55FEBE94B4FBA5CB6CA7479D59A7FC9B6EBD265154CAA5376B60926D4F381AE2021FF' | |
}, { | |
a: '-0x9261E4DC537A39F91445EADA597330B64DFFC5D448263', | |
b: '0x8F305D5E9111F02882418CB6FCC0521E71FC3CE6FB99D06BFBBDD89704409B3C', | |
r: '0x8F305D5E9111F02882386698AEFB1A7AD26AF8884DF43938F058F89AA6FC18D9' | |
}, { | |
a: '-0x70D64D32B5FA94E2CE45FA646A5149FE664601E46A6B807B70C7883', | |
b: '0xCCB9189EEA37EC7EC6988A74E29F323ECC19462D19177CB89AE95724E', | |
r: '0xCC484251B781F1E9E3CA447A7E34E0F4CDB3002B34AD11381F788F9CB' | |
}, { | |
a: '-0xCCF85D3009098AD87A2492775DA044C36DC902BD8C5833222394A756FBD41374BC', | |
b: '-0x81C337EF034E9ADEBDF19ACF0F054FA26D147', | |
r: '-0xCCF85D3009098AD87A2492775DA04CDFA147F2F276061F013D41984750CE3A4603' | |
}, { | |
a: '0x5E5D316BF81DD06F0CE459C38CC64A07D8F1BEE2756', | |
b: '0x5442FC2F5B3B1248275C4CB1AD6C1A4A44A22A500401ED8E1D295', | |
r: '0x5442FC2F5B996F7993546A821C78FEA4082EF09A0BDADF4CFF9EB' | |
}, { | |
a: '0x9995865AD73CC5DFD208259473D1E43C8EEE9B3611', | |
b: '0x2B8487497587A240FC396C5CC915FBDA65F1699E3', | |
r: '0x9C4DCECF6E954003E1CBBC5A406343FA354DB1CFF4' | |
}, { | |
a: '0xD6A74D3D217D39A1A69C244AF7B86AA67E1F567F34989AEC5CBFEBC426946', | |
b: '0x27410ADD4149E200B21579ADC13299C3B0E80920DCD87ED0A1E95152D', | |
r: '0xD6A7747E2C5A7AEB889CD66071662BD917E307673DB977C4DB908DAD77E73' | |
}, { | |
a: '0x6F1CD30E9847A692FE49169A575887B4C71F0E19662178623453027BCF7941', | |
b: '-0xB4A0589884CED86913764388C6AF01B9E17F90E3AD410B9', | |
r: '0x6F1CD30E9847A687B4438D120A6B01238FBAD58CFB315CC41C59F440FB6888' | |
}, { | |
a: '0x4DFAC235F407594FF61DA6A2F0186D5C37023EFEB3B4D2A7198D42B1A644B', | |
b: '-0xEB557B2D06B3E14040820635EB861ACFB5B86B9CC150B7906B99C27B9AF3', | |
r: '0x3F456A83239C1B3BF215863F91600BAF3BA6B844E79FC72E12D3A689EC958' | |
}, { | |
a: '-0x70A4CDE36AFC795811C2A1D7F1E5E15BF59', | |
b: '0x2A2B8FCF201D9F78B60C8F0A1B5E8C5D1DF5C', | |
r: '0x29BAEB013CB2A2FF5DFACC68436CA67BC2003' | |
}, { | |
a: '-0x822C6423B53764E2CA9D86E2AE79F4711CB3539D1B22EF99372C2A3E22B6B452E8D9E', | |
b: '-0xBB881707C24C1FC34D2CFFF26A4B7BA8B21362D', | |
r: '-0x822C6423B53764E2CA9D86E2AE79F52CA4CA5B5F6742B2E6642C1CA86E325D04FC3CB' | |
}]; | |
const dataSmall = [{ | |
a: '0x33282', | |
b: '-0x8F9B8C21AF33F0', | |
r: '-0x8F9B8C21AC016E' | |
}, { | |
a: '0x38', | |
b: '0x0', | |
r: '0x38' | |
}, { | |
a: '-0x7BCA365E', | |
b: '-0xB2', | |
r: '-0x7BCA3710' | |
}, { | |
a: '-0x8', | |
b: '0x8A8', | |
r: '0x8A0' | |
}, { | |
a: '-0x29325E1F08', | |
b: '0xD715', | |
r: '-0x29325D47F3' | |
}, { | |
a: '-0x8D5E', | |
b: '0xABC072A50636C2E7', | |
r: '0xABC072A506363589' | |
}, { | |
a: '0xD0BF5FB5BF6', | |
b: '0x1B4CD01EF7801', | |
r: '0x1C1D8F7EAD3F7' | |
}, { | |
a: '0xA52159AB5E4F', | |
b: '-0xB08847', | |
r: '0xA52158FAD608' | |
}, { | |
a: '0x8FBD', | |
b: '0x3CBCA991B2E', | |
r: '0x3CBCA99AAEB' | |
}, { | |
a: '-0x6F823789DA2', | |
b: '0xA8975DE9C86B15', | |
r: '0xA89065C64FCD73' | |
}, { | |
a: '0x471AE8', | |
b: '-0xFC453DBCD065B2', | |
r: '-0xFC453DBC894ACA' | |
}, { | |
a: '-0x93', | |
b: '0x8C10075', | |
r: '0x8C0FFE2' | |
}, { | |
a: '-0xF11BDE29B41', | |
b: '0xCC1DF4A7CDFDE', | |
r: '0xCB2CD8C9A449D' | |
}, { | |
a: '0x0', | |
b: '0x0', | |
r: '0x0' | |
}, { | |
a: '0x4911FB5117D19F79', | |
b: '-0x504FDFD575', | |
r: '0x4911FB00C7F1CA04' | |
}, { | |
a: '0x1219277', | |
b: '0xF', | |
r: '0x1219286' | |
}, { | |
a: '-0x8A', | |
b: '-0x8BFA', | |
r: '-0x8C84' | |
}, { | |
a: '0x8BA7A07A33AC8C', | |
b: '0x2CA1B4', | |
r: '0x8BA7A07A604E40' | |
}, { | |
a: '0x0', | |
b: '0x2CAEAC098D85EED', | |
r: '0x2CAEAC098D85EED' | |
}, { | |
a: '-0x979AD95210', | |
b: '-0xE4D534', | |
r: '-0x979BBE2744' | |
}, { | |
a: '-0x37C0', | |
b: '0x0', | |
r: '-0x37C0' | |
}, { | |
a: '0xE73751282', | |
b: '-0xEDA34A4A8A1991AB', | |
r: '-0xEDA34A3C16A47F29' | |
}, { | |
a: '0xF450186E5602A047', | |
b: '-0x2B4DA925B784', | |
r: '0xF44FED20ACDCE8C3' | |
}, { | |
a: '-0xEA8CD048BA14', | |
b: '0x3089203EED175', | |
r: '0x21E0533A61761' | |
}, { | |
a: '0x9662C41428489C1', | |
b: '0xCB1ABA22844', | |
r: '0x96638F2EE26B205' | |
}, { | |
a: '0x8535B2717B01A902', | |
b: '0xDC174C6F06', | |
r: '0x8535B34D924E1808' | |
}, { | |
a: '-0x791B6DEA7', | |
b: '0x632D', | |
r: '-0x791B67B7A' | |
}, { | |
a: '-0xFAD6', | |
b: '0x779D3', | |
r: '0x67EFD' | |
}, { | |
a: '-0x25575', | |
b: '-0xE96ABA4E54FC4', | |
r: '-0xE96ABA4E7A539' | |
}, { | |
a: '0x4100B9013F67EB', | |
b: '-0x2A4F0C5', | |
r: '0x4100B8FE9A7726' | |
}, { | |
a: '0x6', | |
b: '0x69162', | |
r: '0x69168' | |
}, { | |
a: '0xFA95CBB066501282', | |
b: '0x6121', | |
r: '0xFA95CBB0665073A3' | |
}, { | |
a: '-0x4D42F38093', | |
b: '-0xC', | |
r: '-0x4D42F3809F' | |
}, { | |
a: '-0x37DF5E2CA59E36', | |
b: '-0xA2', | |
r: '-0x37DF5E2CA59ED8' | |
}, { | |
a: '0x264207', | |
b: '-0xF54D1', | |
r: '0x16ED36' | |
}, { | |
a: '-0xADC7DDB717CE', | |
b: '0xB755D', | |
r: '-0xADC7DDABA271' | |
}, { | |
a: '0x55E58B4', | |
b: '-0xF', | |
r: '0x55E58A5' | |
}, { | |
a: '-0xDF3', | |
b: '0x5C98858FC6A', | |
r: '0x5C98858EE77' | |
}, { | |
a: '0xF5C7', | |
b: '0x0', | |
r: '0xF5C7' | |
}, { | |
a: '-0xFC4B', | |
b: '0x8', | |
r: '-0xFC43' | |
}, { | |
a: '0xAB59C', | |
b: '0x865ABE8', | |
r: '0x8706184' | |
}, { | |
a: '-0x9', | |
b: '-0x423', | |
r: '-0x42C' | |
}, { | |
a: '-0x88C3BD1AF', | |
b: '0x4B56355D0', | |
r: '-0x3D6D87BDF' | |
}, { | |
a: '0x7D2', | |
b: '0x941A99295FEC017', | |
r: '0x941A99295FEC7E9' | |
}, { | |
a: '-0x46', | |
b: '0x99EF8FF8', | |
r: '0x99EF8FB2' | |
}, { | |
a: '0xE9B85914', | |
b: '-0xF2B0A3B7316A', | |
r: '-0xF2AFB9FED856' | |
}, { | |
a: '0xCDA6EE7CE0B749', | |
b: '-0x29A789F0743DD5', | |
r: '0xA3FF648C6C7974' | |
}, { | |
a: '0x735E1D765923', | |
b: '-0xC059ACD', | |
r: '0x735E1170BE56' | |
}, { | |
a: '-0x54B33D1061A34B7', | |
b: '-0x54', | |
r: '-0x54B33D1061A350B' | |
}, { | |
a: '0xD7D3BF', | |
b: '0x4BCCE', | |
r: '0xDC908D' | |
}, { | |
a: '0x3D30C3F629B', | |
b: '0x8F', | |
r: '0x3D30C3F632A' | |
}, { | |
a: '-0xB18EC066C134A', | |
b: '0x466AC462A5410DD', | |
r: '0x45B935A23E7FD93' | |
}, { | |
a: '0x635E89F2EAEE', | |
b: '0x4F74B06A31FFB89', | |
r: '0x4F7AE652D12E677' | |
}, { | |
a: '-0x62550490721758E5', | |
b: '0x6933B', | |
r: '-0x625504907210C5AA' | |
}, { | |
a: '0x2CA1481F947158F', | |
b: '-0x9', | |
r: '0x2CA1481F9471586' | |
}, { | |
a: '-0xF6573D', | |
b: '-0xF69B986E3', | |
r: '-0xF6AAFDE20' | |
}, { | |
a: '-0xA0', | |
b: '0x0', | |
r: '-0xA0' | |
}, { | |
a: '0xE6E4609DB2C9F8BF', | |
b: '-0xE1D', | |
r: '0xE6E4609DB2C9EAA2' | |
}, { | |
a: '0x304F72105D', | |
b: '0x1BCFE0865E7', | |
r: '0x1ED4D7A7644' | |
}, { | |
a: '0x89F1EE3C36321C12', | |
b: '0xE125997C2', | |
r: '0x89F1EE4A488BB3D4' | |
}, { | |
a: '0x0', | |
b: '0x0', | |
r: '0x0' | |
}, { | |
a: '0xF4', | |
b: '0xD4A27CF4', | |
r: '0xD4A27DE8' | |
}, { | |
a: '0x5823888587299', | |
b: '-0x2A7273', | |
r: '0x58238882E0026' | |
}, { | |
a: '0x26FA20536C', | |
b: '-0x26A8CC7001DDE5', | |
r: '-0x26A8A575E18A79' | |
}, { | |
a: '0x47', | |
b: '-0x348A0', | |
r: '-0x34859' | |
}, { | |
a: '0x1902F6743', | |
b: '-0x5D77B21B', | |
r: '0x132B7B528' | |
}, { | |
a: '0xE1', | |
b: '-0xE94F4E25C', | |
r: '-0xE94F4E17B' | |
}, { | |
a: '0xEEF1D', | |
b: '0xD9CE5A8DDD18ED7A', | |
r: '0xD9CE5A8DDD27DC97' | |
}, { | |
a: '0x3524AE60E6', | |
b: '0x918', | |
r: '0x3524AE69FE' | |
}, { | |
a: '0x0', | |
b: '0xF98E56903066', | |
r: '0xF98E56903066' | |
}, { | |
a: '-0xE2FEDC9', | |
b: '-0x5F0DBE50D4A43', | |
r: '-0x5F0DBF33D380C' | |
}, { | |
a: '-0xEE09868B726D55F3', | |
b: '-0x4A164', | |
r: '-0xEE09868B7271F757' | |
}, { | |
a: '-0xC322C25B127589', | |
b: '0x34E2D8C7C7A73', | |
r: '-0xBFD494CE95FB16' | |
}, { | |
a: '0x4BC', | |
b: '-0xBFC754015B1A1', | |
r: '-0xBFC754015ACE5' | |
}, { | |
a: '0x5438A', | |
b: '0xCB74E3', | |
r: '0xD0B86D' | |
}, { | |
a: '-0xF13F5A687', | |
b: '0xDE320538106', | |
r: '0xDD40C5DDA7F' | |
}, { | |
a: '0x0', | |
b: '-0xFB7C72C', | |
r: '-0xFB7C72C' | |
}, { | |
a: '0xF7CE', | |
b: '0x0', | |
r: '0xF7CE' | |
}, { | |
a: '-0xFF2181A4B4F', | |
b: '0x72', | |
r: '-0xFF2181A4ADD' | |
}, { | |
a: '0x0', | |
b: '0x5E30CECD58', | |
r: '0x5E30CECD58' | |
}, { | |
a: '-0xEC', | |
b: '-0x6F', | |
r: '-0x15B' | |
}, { | |
a: '0x8C7CE90B88', | |
b: '0x9C9772C9D59', | |
r: '0xA55F415A8E1' | |
}, { | |
a: '-0x8', | |
b: '-0x7D7', | |
r: '-0x7DF' | |
}, { | |
a: '0x72B', | |
b: '0xCF5DB3', | |
r: '0xCF64DE' | |
}, { | |
a: '0xB30727217FEACF63', | |
b: '0x0', | |
r: '0xB30727217FEACF63' | |
}, { | |
a: '-0x81594B80597638A', | |
b: '0x870250', | |
r: '-0x81594B80510613A' | |
}, { | |
a: '-0xBEBBF2959C3AD', | |
b: '-0x873', | |
r: '-0xBEBBF2959CC20' | |
}, { | |
a: '0x0', | |
b: '0x56FA4A49E74DA3', | |
r: '0x56FA4A49E74DA3' | |
}, { | |
a: '0x7D1AD8D3F9FD96BA', | |
b: '-0x726B58E07', | |
r: '0x7D1AD8CCD34808B3' | |
}, { | |
a: '0x45E70945DF0', | |
b: '0x3', | |
r: '0x45E70945DF3' | |
}, { | |
a: '0xFBAB8', | |
b: '0xE0', | |
r: '0xFBB98' | |
}, { | |
a: '-0xD3B3D9DF4C', | |
b: '-0x9E0', | |
r: '-0xD3B3D9E92C' | |
}, { | |
a: '-0x564C73C64B54A83', | |
b: '0x808EA0BF11', | |
r: '-0x564C6BBD6148B72' | |
}, { | |
a: '-0x2BC15', | |
b: '-0xC684', | |
r: '-0x38299' | |
}, { | |
a: '0x68BAC4901', | |
b: '0x8761FEA0B2C04B', | |
r: '0x8762052C5F094C' | |
}, { | |
a: '0xA05C06', | |
b: '0x4AAB420F69BA06B', | |
r: '0x4AAB420F73BFC71' | |
}, { | |
a: '0xA22316F85', | |
b: '0x46F0B14C5501171', | |
r: '0x46F0B1EE78180F6' | |
}, { | |
a: '-0xE487766AE5B7', | |
b: '0x9C', | |
r: '-0xE487766AE51B' | |
}, { | |
a: '-0xD782601D8FFA51', | |
b: '0x5A367B88D356', | |
r: '-0xD72829A20726FB' | |
}, { | |
a: '0xF5F0FA3F77BEE', | |
b: '0x0', | |
r: '0xF5F0FA3F77BEE' | |
}]; | |
const JSBI = require('JSBI'); | |
//import JSBI from './node_modules/jsbi/dist'; | |
const JSBigInt = JSBI.BigInt; | |
let errorCount = 0; | |
const dataBigNative = []; | |
const dataBigJsbi = []; | |
const dataSmallNative = []; | |
const dataSmallJsbi = []; | |
function hexParseN(s) { | |
if (s.charCodeAt(0) === 0x2D) return -BigInt(s.slice(1)); | |
return BigInt(s); | |
} | |
function parseNative(d) { | |
if (d.b) { | |
return {a: hexParseN(d.a), b: hexParseN(d.b), r: hexParseN(d.r)}; | |
} | |
return {a: hexParseN(d.a), r: hexParseN(d.r)}; | |
} | |
function hexParse(s) { | |
if (s.charCodeAt(0) === 0x2D) { | |
const result = JSBigInt(s.slice(1)); | |
result.sign = true; | |
return result; | |
} | |
return JSBigInt(s); | |
} | |
function parseJSBI(d) { | |
if (d.b) { | |
return {a: hexParse(d.a), b: hexParse(d.b), r: hexParse(d.r)}; | |
} | |
return {a: hexParse(d.a), r: hexParse(d.r)}; | |
} | |
function prepareData(src, dstNative, dstJsbi) { | |
for (let i = 0; i < src.length; i++) { | |
const d = src[i]; | |
dstNative.push(parseNative(d)); | |
dstJsbi.push(parseJSBI(d)); | |
} | |
} | |
prepareData(dataBig, dataBigNative, dataBigJsbi); | |
prepareData(dataSmall, dataSmallNative, dataSmallJsbi); | |
function testNative(data, reps) { | |
for (let i = 0; i < data.length; i++) { | |
const d = data[i]; | |
const r = d.a + d.b; | |
if (d.r !== r) { | |
console.log('Input A: ' + d.a.toString(16)); | |
console.log('Input B: ' + d.b.toString(16)); | |
console.log('Result: ' + r.toString(16)); | |
console.log('Expected: ' + d.r.toString(16)); | |
console.log('Op: +'); | |
errorCount++; | |
} | |
} | |
let r; | |
const t1 = Date.now(); | |
for (let j = 0; j < reps; j++) { | |
for (let i = 0; i < data.length; i++) { | |
const d = data[i]; | |
r = d.a + d.b; | |
} | |
} | |
// Confuse the compiler into thinking that the loop is needed :-) | |
const d = data[data.length - 1]; | |
if (d.r !== r) throw new Error('no dead code elimination please'); | |
return Date.now() - t1; | |
} | |
function testJsbi(data, reps) { | |
for (let i = 0; i < data.length; i++) { | |
const d = data[i]; | |
const r = JSBI.add(d.a, d.b); | |
if (!JSBI.equal(r, d.r)) { | |
console.log('Input A: ' + d.a.toString(16)); | |
console.log('Input B: ' + d.b.toString(16)); | |
console.log('Result: ' + r.toString(16)); | |
console.log('Expected: ' + d.r.toString(16)); | |
console.log('Op: add'); | |
errorCount++; | |
} | |
} | |
let r; | |
const t1 = Date.now(); | |
for (let j = 0; j < reps; j++) { | |
for (let i = 0; i < data.length; i++) { | |
const d = data[i]; | |
r = JSBI.add(d.a, d.b); | |
} | |
} | |
// Confuse the compiler into thinking that the loop is needed :-) | |
const d = data[data.length - 1]; | |
if (!JSBI.equal(r, d.r)) throw new Error('no dead code elimination please'); | |
return Date.now() - t1; | |
} | |
const kRepsBig = 40000; | |
const kRepsSmall = 120000; | |
console.log('Testing add:'); | |
console.log('Native/big: ' + testNative(dataBigNative, kRepsBig)); | |
console.log('JSBI/big: ' + testJsbi(dataBigJsbi, kRepsBig)); | |
console.log('Native/small: ' + testNative(dataSmallNative, kRepsSmall)); | |
console.log('JSBI/small: ' + testJsbi(dataSmallJsbi, kRepsSmall)); | |
if (errorCount !== 0) { | |
console.error('Finished with ' + errorCount + ' errors.'); | |
// Support both d8 (`quit`) and Node.js (`process.exit`). | |
(typeof quit !== 'undefined' ? quit : process.exit)(1); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment