js/src/tests/ecma_6/Math/cosh-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/cosh-approx.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,278 @@
     1.4 +var sloppy_tolerance = 100;
     1.5 +
     1.6 +assertEq(Math.cosh(1000), Infinity);
     1.7 +assertEq(Math.cosh(Number.MAX_VALUE), Infinity);
     1.8 +assertNear(Math.cosh(1e-30), 1, sloppy_tolerance);
     1.9 +assertNear(Math.cosh(1e-10), 1, sloppy_tolerance);
    1.10 +
    1.11 +var cosh_data = [
    1.12 +    [0.0016914556651292944, 1.0000014305114746],
    1.13 +    [0.001953124689559275, 1.0000019073486328],
    1.14 +    [0.003782208044661295, 1.000007152557373],
    1.15 +    [0.005258943946801101, 1.000013828277588],
    1.16 +    [0.005859366618129203, 1.0000171661376953],
    1.17 +    [0.010961831992188852, 1.0000600814819336],
    1.18 +    [0.015285472131830425, 1.0001168251037598],
    1.19 +    [0.017249319093529877, 1.0001487731933594],
    1.20 +    [0.028218171738655373, 1.0003981590270996],
    1.21 +    [0.03573281468231457, 1.000638484954834],
    1.22 +    [0.046287402472878776, 1.0010714530944824],
    1.23 +    [0.07771996527168971, 1.0030217170715332],
    1.24 +    [0.0998975930860278, 1.0049939155578613],
    1.25 +    [0.13615938768032465, 1.0092840194702148],
    1.26 +    [0.21942279004958354, 1.024169921875],
    1.27 +    [0.3511165938166055, 1.0622773170471191],
    1.28 +    [0.48975026711288183, 1.1223440170288086],
    1.29 +    [0.692556883708491,  1.2495574951171875],
    1.30 +    [0.954530572221414,  1.4912219047546387],
    1.31 +    [1.307581416910453,  1.983847141265869],
    1.32 +    [1.4035188779741334, 2.1576128005981445],
    1.33 +    [1.5250070845427517, 2.406397819519043],
    1.34 +    [1.8905372013072799, 3.386958122253418],
    1.35 +    [2.1735673399948254, 4.451677322387695],
    1.36 +    [2.625091127868242,  6.939132690429686],
    1.37 +    [2.737434918695162,  7.756023406982421],
    1.38 +    [2.8740317167801948, 8.88236999511719],
    1.39 +    [2.97998639328949,   9.869171142578123],
    1.40 +    [3.516549380542481,  16.848876953125],
    1.41 +    [3.51867003468025,   16.884582519531254],
    1.42 +    [3.593185165198829,  18.18859100341797],
    1.43 +    [3.6273672142963385, 18.82012176513672],
    1.44 +    [3.646553244410946,  19.184181213378906],
    1.45 +    [3.872413451393967,  24.03952026367187],
    1.46 +    [3.972085568933329,  26.556991577148434],
    1.47 +    [4.022209178119238,  27.921104431152337],
    1.48 +    [4.168428891496629,  32.31466674804686],
    1.49 +    [4.240546229861005,  34.730087280273445],
    1.50 +    [4.290698214968891,  36.51556396484376],
    1.51 +    [4.352722738491574,  38.851287841796875],
    1.52 +    [4.594386162629449,  49.46875],
    1.53 +    [4.598500387004538,  49.67265319824219],
    1.54 +    [4.7152173401856095, 55.821014404296896],
    1.55 +    [4.73822104001982,   57.119781494140604],
    1.56 +    [4.793733825338029,  60.37983703613279],
    1.57 +    [4.8435923769530165, 63.46618652343747],
    1.58 +    [4.849190310904695,  63.82241821289062],
    1.59 +    [4.85767897228448,   64.36642456054685],
    1.60 +    [4.880061548144127,  65.82318115234375],
    1.61 +    [4.921430721025434,  68.60302734374997],
    1.62 +    [4.94406835208057,   70.17358398437497],
    1.63 +    [4.967000841791218,  71.80126953124997],
    1.64 +    [5.016014824864732,  75.40786743164065],
    1.65 +    [5.017205657609766,  75.49771118164062],
    1.66 +    [5.0506448716550825, 78.06475830078126],
    1.67 +    [5.0707363201405276, 79.64892578125],
    1.68 +    [5.073517411135063,  79.87072753906253],
    1.69 +    [5.101574796209937,  82.14324951171874],
    1.70 +    [5.152357710985635,  86.4221496582031],
    1.71 +    [5.167705692500117,  87.75869750976562],
    1.72 +    [5.2390637098028074, 94.24942016601562],
    1.73 +    [5.247023676519904,  95.00259399414062],
    1.74 +    [5.258134994273664,  96.06402587890626],
    1.75 +    [5.289261389093961,  99.10101318359374],
    1.76 +    [5.345425863147171,  104.82595825195315],
    1.77 +    [5.3555664787245885, 105.89431762695308],
    1.78 +    [5.363617180711895,  106.750244140625],
    1.79 +    [5.388152468690488,  109.40167236328122],
    1.80 +    [5.405320225963013,  111.2959899902344],
    1.81 +    [5.417698597745429,  112.68215942382815],
    1.82 +    [5.445406415908933,  115.8478698730469],
    1.83 +    [5.501396249028249,  122.51895141601562],
    1.84 +    [5.531718947357248,  126.29083251953128],
    1.85 +    [5.544277233951787,  127.88677978515626],
    1.86 +    [5.547444176085567,  128.29241943359372],
    1.87 +    [5.556786759298988,  129.49658203125006],
    1.88 +    [5.625710723366437,  138.7365112304687],
    1.89 +    [5.628934733085022,  139.18450927734378],
    1.90 +    [5.634566685055491,  139.97058105468747],
    1.91 +    [5.660401141376928,  143.63366699218747],
    1.92 +    [5.698541939965668,  149.21765136718753],
    1.93 +    [5.7078698961812995, 150.6160278320313],
    1.94 +    [5.714741890601693,  151.6546020507813],
    1.95 +    [5.735111323217677,  154.77532958984378],
    1.96 +    [5.761781191641161,  158.95861816406253],
    1.97 +    [5.763503378028959,  159.23260498046878],
    1.98 +    [5.810483079631769,  166.89166259765622],
    1.99 +    [5.824362807770767,  169.22418212890625],
   1.100 +    [5.833939098607025,  170.85247802734372],
   1.101 +    [5.861586030831371,  175.64184570312503],
   1.102 +    [5.866335876872544,  176.47808837890625],
   1.103 +    [5.869449614294116,  177.02844238281247],
   1.104 +    [5.879497954012966,  178.81622314453122],
   1.105 +    [5.893213844044451,  181.28570556640625],
   1.106 +    [5.944588630523773,  190.84246826171866],
   1.107 +    [5.947493525920713,  191.39764404296875],
   1.108 +    [5.962341215900494,  194.26062011718753],
   1.109 +    [5.9656082276276,    194.89630126953122],
   1.110 +    [5.9749284849312865, 196.7212524414062],
   1.111 +    [5.975165500176202,  196.76788330078128],
   1.112 +    [5.981706804024238,  198.05920410156241],
   1.113 +    [5.991310884439669,  199.9705200195312],
   1.114 +    [6.004868209578554,  202.70001220703122],
   1.115 +    [6.0159406892865155, 204.95684814453116],
   1.116 +    [6.025476453825986,  206.92059326171866],
   1.117 +    [6.047172064627678,  211.45886230468741],
   1.118 +    [6.0479418642231595, 211.62170410156256],
   1.119 +    [6.050479329955437,  212.1593627929687],
   1.120 +    [6.086466833749719,  219.93341064453125],
   1.121 +    [6.101870903204913,  223.3474731445312],
   1.122 +    [6.1249427443985525, 228.56036376953128],
   1.123 +    [6.129204755426344,  229.53656005859375],
   1.124 +    [6.136241935513706,  231.1575317382813],
   1.125 +    [6.153688953514383,  235.22589111328134],
   1.126 +    [6.1619244798633215, 237.17108154296884],
   1.127 +    [6.165012268502458,  237.90454101562506],
   1.128 +    [6.187036941752032,  243.202392578125],
   1.129 +    [6.191527178125454,  244.29687500000003],
   1.130 +    [6.196001570568187,  245.3923950195312],
   1.131 +    [6.197677082130341,  245.80389404296875],
   1.132 +    [6.2133379061260285, 249.68365478515622],
   1.133 +    [6.223871642756905,  252.3276367187501],
   1.134 +    [6.228398760115369,  253.47253417968756],
   1.135 +    [6.269692237869835,  264.1583251953126],
   1.136 +    [6.276143287577458,  265.8679199218749],
   1.137 +    [6.305884283737176,  273.89379882812494],
   1.138 +    [6.306492908028797,  274.0605468750001],
   1.139 +    [6.3065018163217115, 274.06298828125006],
   1.140 +    [6.31104892482331,   275.3120117187501],
   1.141 +    [6.3322712125431915, 281.2171630859374],
   1.142 +    [6.343324976847916,  284.34289550781244],
   1.143 +    [6.345081883725142,  284.84289550781256],
   1.144 +    [6.353683609448096,  287.30358886718756],
   1.145 +    [6.366114643735997,  290.8973388671876],
   1.146 +    [6.373476431987165,  293.0467529296875],
   1.147 +    [6.3734826803404045, 293.04858398437494],
   1.148 +    [6.3862671775996915, 296.819091796875],
   1.149 +    [6.389086936901673,  297.6572265625],
   1.150 +    [6.424562459508495,  308.4062500000001],
   1.151 +    [6.4506171773701535, 316.5472412109376],
   1.152 +    [6.462221144761522,  320.24182128906256],
   1.153 +    [6.468740575092418,  322.33642578125],
   1.154 +    [6.472375224718483,  323.5101318359374],
   1.155 +    [6.485834999462654,  327.8939208984375],
   1.156 +    [6.486412623146554,  328.08337402343744],
   1.157 +    [6.486812521370483,  328.214599609375],
   1.158 +    [6.498698952535687,  332.1391601562501],
   1.159 +    [6.521175044233963,  339.6888427734376],
   1.160 +    [6.522595306993373,  340.171630859375],
   1.161 +    [6.522766822935215,  340.2299804687499],
   1.162 +    [6.52502285413445,   340.99841308593744],
   1.163 +    [6.5445411825986985, 347.7194824218749],
   1.164 +    [6.5451209675856825, 347.9211425781249],
   1.165 +    [6.55061885367159,   349.8392333984375],
   1.166 +    [6.560126626713879,  353.1812744140626],
   1.167 +    [6.560510895819139,  353.31701660156244],
   1.168 +    [6.565186990039135,  354.97302246093756],
   1.169 +    [6.567067660815945,  355.64123535156233],
   1.170 +    [6.588081320423386,  363.19360351562517],
   1.171 +    [6.5896131163651415, 363.7503662109376],
   1.172 +    [6.597598047275183,  366.66650390624983],
   1.173 +    [6.608222493065004,  370.5828857421874],
   1.174 +    [6.611563301604297,  371.822998046875],
   1.175 +    [6.622421213257873,  375.88220214843756],
   1.176 +    [6.625684248051368,  377.11071777343744],
   1.177 +    [6.626950731244344,  377.58862304687483],
   1.178 +    [6.630267034079059,  378.8428955078124],
   1.179 +    [6.630977920761718,  379.11230468749994],
   1.180 +    [6.636217452968849,  381.10388183593756],
   1.181 +    [6.638857149899159,  382.1112060546874],
   1.182 +    [6.641161660644278,  382.9927978515625],
   1.183 +    [6.652047018118426,  387.1845703124999],
   1.184 +    [6.658445560711748,  389.66992187499994],
   1.185 +    [6.658790721334144,  389.8044433593749],
   1.186 +    [6.675345858154136,  396.3114013671875],
   1.187 +    [6.677094789236718,  397.00512695312494],
   1.188 +    [6.6775691166680895, 397.1934814453124],
   1.189 +    [6.679106750673113,  397.80468749999994],
   1.190 +    [6.681712590609845,  398.84265136718744],
   1.191 +    [6.682523938576487,  399.16638183593744],
   1.192 +    [6.68274532345516,   399.2547607421874],
   1.193 +    [6.685459416477178,  400.3398437499999],
   1.194 +    [6.694456277839498,  403.9578857421875],
   1.195 +    [6.6952522228540765, 404.27954101562517],
   1.196 +    [6.6971746771142415, 405.05749511718744],
   1.197 +    [6.702764738337774,  407.328125],
   1.198 +    [6.7033022311799595, 407.54711914062506],
   1.199 +    [6.710763953621196,  410.59948730468756],
   1.200 +    [6.711256159037373,  410.8016357421876],
   1.201 +    [6.712054288828399,  411.12963867187494],
   1.202 +    [6.713939407502346,  411.9053955078124],
   1.203 +    [6.722828986708716,  415.5833740234374],
   1.204 +    [6.727835453862132,  417.66918945312506],
   1.205 +    [6.734632628835641,  420.51782226562506],
   1.206 +    [6.743787740494532,  424.38537597656233],
   1.207 +    [6.744565219553757,  424.71545410156244],
   1.208 +    [6.7715720212680655, 436.3419189453125],
   1.209 +    [6.776510146304201,  438.50195312500017],
   1.210 +    [6.778412462065226,  439.33691406250017],
   1.211 +    [6.79247934060035,   445.5606689453126],
   1.212 +    [6.809016260337229,  452.9901123046875],
   1.213 +    [6.810747231716348,  453.7749023437499],
   1.214 +    [6.817335895109251,  456.7745361328125],
   1.215 +    [6.819910421197311,  457.9520263671875],
   1.216 +    [6.821497844004013,  458.6795654296874],
   1.217 +    [6.8254946428721475, 460.51647949218767],
   1.218 +    [6.828433164406687,  461.87170410156256],
   1.219 +    [6.834543470287694,  464.70251464843756],
   1.220 +    [6.839609377592375,  467.06262207031267],
   1.221 +    [6.839627933844213,  467.0712890625001],
   1.222 +    [6.846084943645239,  470.09692382812494],
   1.223 +    [6.856799276049143,  475.16076660156233],
   1.224 +    [6.861822721577315,  477.5537109374998],
   1.225 +    [6.864066049482581,  478.62622070312517],
   1.226 +    [6.864420497333681,  478.79589843750017],
   1.227 +    [6.866278653973069,  479.68640136718733],
   1.228 +    [6.866487814627139,  479.7867431640625],
   1.229 +    [6.8667493311188395, 479.9122314453126],
   1.230 +    [6.872084270243208,  482.4793701171875],
   1.231 +    [6.872164723177875,  482.5181884765627],
   1.232 +    [6.874982560453874,  483.87976074218767],
   1.233 +    [6.876191234145179,  484.46496582031233],
   1.234 +    [6.877966548833207,  485.3258056640624],
   1.235 +    [6.888721726428236,  490.57373046875006],
   1.236 +    [6.89515989558997,   493.74230957031244],
   1.237 +    [6.896232568812718,  494.2722167968751],
   1.238 +    [6.900624415355815,  496.44775390624983],
   1.239 +    [6.901816998553275,  497.0401611328125],
   1.240 +    [6.9042162822876465, 498.23413085937483],
   1.241 +    [7.193052598670793,  665.0791015625001],
   1.242 +    [7.758155143419732,  1170.29150390625],
   1.243 +    [8.323023697145112,  2058.795898437501],
   1.244 +    [9.36298131161099,   5824.533203125004],
   1.245 +    [9.810748008110926,  9114.308593750004],
   1.246 +    [11.047341056314202, 31388.40624999998],
   1.247 +    [11.584925435512535, 53732.765624999956],
   1.248 +    [12.366958539207397, 117455.0937500001],
   1.249 +    [13.107089828327874, 246210.62499999983],
   1.250 +    [13.84248373881162,  513670.1250000003],
   1.251 +    [14.27084873575108,  788353.2499999999],
   1.252 +    [15.060339852215408, 1736170.999999999],
   1.253 +    [15.835873313657556, 3770530.0000000005],
   1.254 +    [15.977474039173265, 4344089.999999998],
   1.255 +    [16.943967899150145, 11419360.000000006],
   1.256 +    [17.943394339560967, 31023239.99999997],
   1.257 +    [18.214035936745432, 40665424.00000006],
   1.258 +    [19.374560581709215, 129788063.99999991],
   1.259 +    [19.927723623778547, 225668224.00000027],
   1.260 +    [20.619308638400597, 450631936.0000006],
   1.261 +    [21.129986093026698, 750941952.0000008],
   1.262 +    [22.05159150215413,  1887358976.0000033],
   1.263 +    [22.734966842639743, 3738011648.0000052],
   1.264 +    [23.42954051928097,  7486695423.99999],
   1.265 +    [23.955498471391667, 12668080127.99998],
   1.266 +    [24.591055724582848, 23918272512],
   1.267 +    [25.305424481799395, 48862560256.00005],
   1.268 +    [26.150535181949436, 113763549183.99998],
   1.269 +    [26.499894449532565, 161334755328.00018],
   1.270 +    [27.19075733422632,  321933279232.0004],
   1.271 +    [27.989721778208146, 715734122496],
   1.272 +    [28.953212876533797, 1875817529343.9976],
   1.273 +];
   1.274 +
   1.275 +for (var [x, y] of cosh_data)
   1.276 +    assertNear(Math.cosh(x), y, sloppy_tolerance);
   1.277 +
   1.278 +for (var i = -20; i < 20; i++)
   1.279 +    assertNear(Math.cosh(i), (Math.exp(i) + Math.exp(-i)) / 2, sloppy_tolerance);
   1.280 +
   1.281 +reportCompare(0, 0, "ok");

mercurial