js/src/tests/ecma_6/Math/acosh-approx.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/tests/ecma_6/Math/acosh-approx.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,283 @@
     1.4 +var cosh_data = [
     1.5 +    [1.0000014305114746, 0.0016914556651292944],
     1.6 +    [1.0000019073486328, 0.001953124689559275],
     1.7 +    [1.000007152557373, 0.003782208044661295],
     1.8 +    [1.000013828277588, 0.005258943946801101],
     1.9 +    [1.0000171661376953, 0.005859366618129203],
    1.10 +    [1.0000600814819336, 0.010961831992188852],
    1.11 +    [1.0001168251037598, 0.015285472131830425],
    1.12 +    [1.0001487731933594, 0.017249319093529877],
    1.13 +    [1.0003981590270996, 0.028218171738655373],
    1.14 +    [1.000638484954834, 0.03573281468231457],
    1.15 +    [1.0010714530944824, 0.046287402472878776],
    1.16 +    [1.0030217170715332, 0.07771996527168971],
    1.17 +    [1.0049939155578613, 0.0998975930860278],
    1.18 +    [1.0092840194702148, 0.13615938768032465],
    1.19 +    [1.024169921875, 0.21942279004958354],
    1.20 +    [1.0622773170471191, 0.3511165938166055],
    1.21 +    [1.1223440170288086, 0.48975026711288183],
    1.22 +    [1.2495574951171875, 0.692556883708491],
    1.23 +    [1.4912219047546387, 0.954530572221414],
    1.24 +    [1.9838471412658691, 1.307581416910453],
    1.25 +    [2.1576128005981445, 1.4035188779741334],
    1.26 +    [2.406397819519043, 1.5250070845427517],
    1.27 +    [3.386958122253418, 1.8905372013072799],
    1.28 +    [4.451677322387695, 2.1735673399948254],
    1.29 +    [6.9391326904296875, 2.625091127868242],
    1.30 +    [7.756023406982422, 2.737434918695162],
    1.31 +    [8.882369995117188, 2.8740317167801948],
    1.32 +    [9.869171142578125, 2.97998639328949],
    1.33 +    [16.848876953125, 3.516549380542481],
    1.34 +    [16.88458251953125, 3.51867003468025],
    1.35 +    [18.18859100341797, 3.593185165198829],
    1.36 +    [18.82012176513672, 3.6273672142963385],
    1.37 +    [19.184181213378906, 3.646553244410946],
    1.38 +    [24.039520263671875, 3.872413451393967],
    1.39 +    [26.556991577148438, 3.972085568933329],
    1.40 +    [27.921104431152344, 4.022209178119238],
    1.41 +    [32.314666748046875, 4.168428891496629],
    1.42 +    [34.73008728027344, 4.240546229861005],
    1.43 +    [36.51556396484375, 4.290698214968891],
    1.44 +    [38.851287841796875, 4.352722738491574],
    1.45 +    [49.46875, 4.594386162629449],
    1.46 +    [49.67265319824219, 4.598500387004538],
    1.47 +    [55.821014404296875, 4.7152173401856095],
    1.48 +    [57.119781494140625, 4.73822104001982],
    1.49 +    [60.37983703613281, 4.793733825338029],
    1.50 +    [63.4661865234375, 4.8435923769530165],
    1.51 +    [63.822418212890625, 4.849190310904695],
    1.52 +    [64.36642456054688, 4.85767897228448],
    1.53 +    [65.82318115234375, 4.880061548144127],
    1.54 +    [68.60302734375, 4.921430721025434],
    1.55 +    [70.173583984375, 4.94406835208057],
    1.56 +    [71.80126953125, 4.967000841791218],
    1.57 +    [75.40786743164062, 5.016014824864732],
    1.58 +    [75.49771118164062, 5.017205657609766],
    1.59 +    [78.06475830078125, 5.0506448716550825],
    1.60 +    [79.64892578125, 5.0707363201405276],
    1.61 +    [79.8707275390625, 5.073517411135063],
    1.62 +    [82.14324951171875, 5.101574796209937],
    1.63 +    [86.42214965820312, 5.152357710985635],
    1.64 +    [87.75869750976562, 5.167705692500117],
    1.65 +    [94.24942016601562, 5.2390637098028074],
    1.66 +    [95.00259399414062, 5.247023676519904],
    1.67 +    [96.06402587890625, 5.258134994273664],
    1.68 +    [99.10101318359375, 5.289261389093961],
    1.69 +    [104.82595825195312, 5.345425863147171],
    1.70 +    [105.89431762695312, 5.3555664787245885],
    1.71 +    [106.750244140625, 5.363617180711895],
    1.72 +    [109.40167236328125, 5.388152468690488],
    1.73 +    [111.29598999023438, 5.405320225963013],
    1.74 +    [112.68215942382812, 5.417698597745429],
    1.75 +    [115.84786987304688, 5.445406415908933],
    1.76 +    [122.51895141601562, 5.501396249028249],
    1.77 +    [126.29083251953125, 5.531718947357248],
    1.78 +    [127.88677978515625, 5.544277233951787],
    1.79 +    [128.29241943359375, 5.547444176085567],
    1.80 +    [129.49658203125, 5.556786759298988],
    1.81 +    [138.73651123046875, 5.625710723366437],
    1.82 +    [139.18450927734375, 5.628934733085022],
    1.83 +    [139.9705810546875, 5.634566685055491],
    1.84 +    [143.6336669921875, 5.660401141376928],
    1.85 +    [149.2176513671875, 5.698541939965668],
    1.86 +    [150.61602783203125, 5.7078698961812995],
    1.87 +    [151.65460205078125, 5.714741890601693],
    1.88 +    [154.77532958984375, 5.735111323217677],
    1.89 +    [158.9586181640625, 5.761781191641161],
    1.90 +    [159.23260498046875, 5.763503378028959],
    1.91 +    [166.89166259765625, 5.810483079631769],
    1.92 +    [169.22418212890625, 5.824362807770767],
    1.93 +    [170.85247802734375, 5.833939098607025],
    1.94 +    [175.641845703125, 5.861586030831371],
    1.95 +    [176.47808837890625, 5.866335876872544],
    1.96 +    [177.0284423828125, 5.869449614294116],
    1.97 +    [178.81622314453125, 5.879497954012966],
    1.98 +    [181.28570556640625, 5.893213844044451],
    1.99 +    [190.84246826171875, 5.944588630523773],
   1.100 +    [191.39764404296875, 5.947493525920713],
   1.101 +    [194.2606201171875, 5.962341215900494],
   1.102 +    [194.89630126953125, 5.9656082276276],
   1.103 +    [196.72125244140625, 5.9749284849312865],
   1.104 +    [196.76788330078125, 5.975165500176202],
   1.105 +    [198.0592041015625, 5.981706804024238],
   1.106 +    [199.97052001953125, 5.991310884439669],
   1.107 +    [202.70001220703125, 6.004868209578554],
   1.108 +    [204.95684814453125, 6.0159406892865155],
   1.109 +    [206.92059326171875, 6.025476453825986],
   1.110 +    [211.4588623046875, 6.047172064627678],
   1.111 +    [211.6217041015625, 6.0479418642231595],
   1.112 +    [212.15936279296875, 6.050479329955437],
   1.113 +    [219.93341064453125, 6.086466833749719],
   1.114 +    [223.34747314453125, 6.101870903204913],
   1.115 +    [228.56036376953125, 6.1249427443985525],
   1.116 +    [229.53656005859375, 6.129204755426344],
   1.117 +    [231.15753173828125, 6.136241935513706],
   1.118 +    [235.22589111328125, 6.153688953514383],
   1.119 +    [237.17108154296875, 6.1619244798633215],
   1.120 +    [237.904541015625, 6.165012268502458],
   1.121 +    [243.202392578125, 6.187036941752032],
   1.122 +    [244.296875, 6.191527178125454],
   1.123 +    [245.39239501953125, 6.196001570568187],
   1.124 +    [245.80389404296875, 6.197677082130341],
   1.125 +    [249.68365478515625, 6.2133379061260285],
   1.126 +    [252.32763671875, 6.223871642756905],
   1.127 +    [253.4725341796875, 6.228398760115369],
   1.128 +    [264.1583251953125, 6.269692237869835],
   1.129 +    [265.867919921875, 6.276143287577458],
   1.130 +    [273.893798828125, 6.305884283737176],
   1.131 +    [274.060546875, 6.306492908028797],
   1.132 +    [274.06298828125, 6.3065018163217115],
   1.133 +    [275.31201171875, 6.31104892482331],
   1.134 +    [281.2171630859375, 6.3322712125431915],
   1.135 +    [284.3428955078125, 6.343324976847916],
   1.136 +    [284.8428955078125, 6.345081883725142],
   1.137 +    [287.3035888671875, 6.353683609448096],
   1.138 +    [290.8973388671875, 6.366114643735997],
   1.139 +    [293.0467529296875, 6.373476431987165],
   1.140 +    [293.048583984375, 6.3734826803404045],
   1.141 +    [296.819091796875, 6.3862671775996915],
   1.142 +    [297.6572265625, 6.389086936901673],
   1.143 +    [308.40625, 6.424562459508495],
   1.144 +    [316.5472412109375, 6.4506171773701535],
   1.145 +    [320.2418212890625, 6.462221144761522],
   1.146 +    [322.33642578125, 6.468740575092418],
   1.147 +    [323.5101318359375, 6.472375224718483],
   1.148 +    [327.8939208984375, 6.485834999462654],
   1.149 +    [328.0833740234375, 6.486412623146554],
   1.150 +    [328.214599609375, 6.486812521370483],
   1.151 +    [332.13916015625, 6.498698952535687],
   1.152 +    [339.6888427734375, 6.521175044233963],
   1.153 +    [340.171630859375, 6.522595306993373],
   1.154 +    [340.22998046875, 6.522766822935215],
   1.155 +    [340.9984130859375, 6.52502285413445],
   1.156 +    [347.719482421875, 6.5445411825986985],
   1.157 +    [347.921142578125, 6.5451209675856825],
   1.158 +    [349.8392333984375, 6.55061885367159],
   1.159 +    [353.1812744140625, 6.560126626713879],
   1.160 +    [353.3170166015625, 6.560510895819139],
   1.161 +    [354.9730224609375, 6.565186990039135],
   1.162 +    [355.6412353515625, 6.567067660815945],
   1.163 +    [363.193603515625, 6.588081320423386],
   1.164 +    [363.7503662109375, 6.5896131163651415],
   1.165 +    [366.66650390625, 6.597598047275183],
   1.166 +    [370.5828857421875, 6.608222493065004],
   1.167 +    [371.822998046875, 6.611563301604297],
   1.168 +    [375.8822021484375, 6.622421213257873],
   1.169 +    [377.1107177734375, 6.625684248051368],
   1.170 +    [377.588623046875, 6.626950731244344],
   1.171 +    [378.8428955078125, 6.630267034079059],
   1.172 +    [379.1123046875, 6.630977920761718],
   1.173 +    [381.1038818359375, 6.636217452968849],
   1.174 +    [382.1112060546875, 6.638857149899159],
   1.175 +    [382.9927978515625, 6.641161660644278],
   1.176 +    [387.1845703125, 6.652047018118426],
   1.177 +    [389.669921875, 6.658445560711748],
   1.178 +    [389.804443359375, 6.658790721334144],
   1.179 +    [396.3114013671875, 6.675345858154136],
   1.180 +    [397.005126953125, 6.677094789236718],
   1.181 +    [397.1934814453125, 6.6775691166680895],
   1.182 +    [397.8046875, 6.679106750673113],
   1.183 +    [398.8426513671875, 6.681712590609845],
   1.184 +    [399.1663818359375, 6.682523938576487],
   1.185 +    [399.2547607421875, 6.68274532345516],
   1.186 +    [400.33984375, 6.685459416477178],
   1.187 +    [403.9578857421875, 6.694456277839498],
   1.188 +    [404.279541015625, 6.6952522228540765],
   1.189 +    [405.0574951171875, 6.6971746771142415],
   1.190 +    [407.328125, 6.702764738337774],
   1.191 +    [407.547119140625, 6.7033022311799595],
   1.192 +    [410.5994873046875, 6.710763953621196],
   1.193 +    [410.8016357421875, 6.711256159037373],
   1.194 +    [411.129638671875, 6.712054288828399],
   1.195 +    [411.9053955078125, 6.713939407502346],
   1.196 +    [415.5833740234375, 6.722828986708716],
   1.197 +    [417.669189453125, 6.727835453862132],
   1.198 +    [420.517822265625, 6.734632628835641],
   1.199 +    [424.3853759765625, 6.743787740494532],
   1.200 +    [424.7154541015625, 6.744565219553757],
   1.201 +    [436.3419189453125, 6.7715720212680655],
   1.202 +    [438.501953125, 6.776510146304201],
   1.203 +    [439.3369140625, 6.778412462065226],
   1.204 +    [445.5606689453125, 6.79247934060035],
   1.205 +    [452.9901123046875, 6.809016260337229],
   1.206 +    [453.77490234375, 6.810747231716348],
   1.207 +    [456.7745361328125, 6.817335895109251],
   1.208 +    [457.9520263671875, 6.819910421197311],
   1.209 +    [458.6795654296875, 6.821497844004013],
   1.210 +    [460.5164794921875, 6.8254946428721475],
   1.211 +    [461.8717041015625, 6.828433164406687],
   1.212 +    [464.7025146484375, 6.834543470287694],
   1.213 +    [467.0626220703125, 6.839609377592375],
   1.214 +    [467.0712890625, 6.839627933844213],
   1.215 +    [470.096923828125, 6.846084943645239],
   1.216 +    [475.1607666015625, 6.856799276049143],
   1.217 +    [477.5537109375, 6.861822721577315],
   1.218 +    [478.626220703125, 6.864066049482581],
   1.219 +    [478.7958984375, 6.864420497333681],
   1.220 +    [479.6864013671875, 6.866278653973069],
   1.221 +    [479.7867431640625, 6.866487814627139],
   1.222 +    [479.9122314453125, 6.8667493311188395],
   1.223 +    [482.4793701171875, 6.872084270243208],
   1.224 +    [482.5181884765625, 6.872164723177875],
   1.225 +    [483.8797607421875, 6.874982560453874],
   1.226 +    [484.4649658203125, 6.876191234145179],
   1.227 +    [485.3258056640625, 6.877966548833207],
   1.228 +    [490.57373046875, 6.888721726428236],
   1.229 +    [493.7423095703125, 6.89515989558997],
   1.230 +    [494.272216796875, 6.896232568812718],
   1.231 +    [496.44775390625, 6.900624415355815],
   1.232 +    [497.0401611328125, 6.901816998553275],
   1.233 +    [498.234130859375, 6.9042162822876465],
   1.234 +    [665.0791015625, 7.193052598670793],
   1.235 +    [1170.29150390625, 7.758155143419732],
   1.236 +    [2058.7958984375, 8.323023697145112],
   1.237 +    [5824.533203125, 9.36298131161099],
   1.238 +    [9114.30859375, 9.810748008110926],
   1.239 +    [31388.40625, 11.047341056314202],
   1.240 +    [53732.765625, 11.584925435512535],
   1.241 +    [117455.09375, 12.366958539207397],
   1.242 +    [246210.625, 13.107089828327874],
   1.243 +    [513670.125, 13.84248373881162],
   1.244 +    [788353.25, 14.27084873575108],
   1.245 +    [1736171, 15.060339852215408],
   1.246 +    [3770530, 15.835873313657556],
   1.247 +    [4344090, 15.977474039173265],
   1.248 +    [11419360, 16.943967899150145],
   1.249 +    [31023240, 17.943394339560967],
   1.250 +    [40665424, 18.214035936745432],
   1.251 +    [129788064, 19.374560581709215],
   1.252 +    [225668224, 19.927723623778547],
   1.253 +    [450631936, 20.619308638400597],
   1.254 +    [750941952, 21.129986093026698],
   1.255 +    [1887358976, 22.05159150215413],
   1.256 +    [3738011648, 22.734966842639743],
   1.257 +    [7486695424, 23.42954051928097],
   1.258 +    [12668080128, 23.955498471391667],
   1.259 +    [23918272512, 24.591055724582848],
   1.260 +    [48862560256, 25.305424481799395],
   1.261 +    [113763549184, 26.150535181949436],
   1.262 +    [161334755328, 26.499894449532565],
   1.263 +    [321933279232, 27.19075733422632],
   1.264 +    [715734122496, 27.989721778208146],
   1.265 +    [1875817529344, 28.953212876533797]
   1.266 +];
   1.267 +
   1.268 +var sloppy_tolerance = 1000;  // FIXME
   1.269 +
   1.270 +for (var [x, y] of cosh_data)
   1.271 +    assertNear(Math.acosh(x), y, sloppy_tolerance);
   1.272 +
   1.273 +assertNear(Math.acosh(1e300), 691.4686750787737, sloppy_tolerance);
   1.274 +assertNear(Math.acosh(1.0000000001), 0.000014142136208675862, sloppy_tolerance);
   1.275 +
   1.276 +for (var i = 0; i <= 100; i++) {
   1.277 +    var x = (i - 50) / 5;
   1.278 +    var y = Math.cosh(x);
   1.279 +    var z = Math.acosh(y);
   1.280 +    assertNear(z, Math.abs(x), sloppy_tolerance);
   1.281 +}
   1.282 +
   1.283 +for (var i = 1; i < 20; i++)
   1.284 +    assertNear(Math.acosh(Math.cosh(i)), i, sloppy_tolerance);
   1.285 +
   1.286 +reportCompare(0, 0, "ok");

mercurial