js/src/tests/ecma_6/Math/asinh-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/asinh-approx.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,305 @@
     1.4 +var sinh_data = [
     1.5 +    [-497.181640625, -6.902103625349695],
     1.6 +    [-495.216552734375, -6.898143347143859],
     1.7 +    [-488.0980224609375, -6.883664481302669],
     1.8 +    [-486.4609375, -6.880304842490273],
     1.9 +    [-482.2261962890625, -6.871561546509046],
    1.10 +    [-468.167236328125, -6.841973895837549],
    1.11 +    [-465.553955078125, -6.836376331805493],
    1.12 +    [-464.288330078125, -6.833654100575195],
    1.13 +    [-463.558837890625, -6.8320816635009045],
    1.14 +    [-453.82861328125, -6.8108680173663085],
    1.15 +    [-448.7835693359375, -6.799689165151487],
    1.16 +    [-446.0499267578125, -6.793579326246197],
    1.17 +    [-432.4046630859375, -6.762510387544996],
    1.18 +    [-424.145751953125, -6.743225720989222],
    1.19 +    [-402.8682861328125, -6.691758395994307],
    1.20 +    [-402.4595947265625, -6.690743430063694],
    1.21 +    [-390.1383056640625, -6.6596501292114505],
    1.22 +    [-387.5355224609375, -6.652956360641761],
    1.23 +    [-381.0023193359375, -6.635954365364267],
    1.24 +    [-374.8172607421875, -6.619587562578274],
    1.25 +    [-374.1033935546875, -6.617681179427804],
    1.26 +    [-373.01318359375, -6.614762741096185],
    1.27 +    [-370.0938720703125, -6.60690568753706],
    1.28 +    [-364.5230712890625, -6.591738907156094],
    1.29 +    [-361.3756103515625, -6.583066984213974],
    1.30 +    [-358.1136474609375, -6.573999516974134],
    1.31 +    [-350.8861083984375, -6.553610904389896],
    1.32 +    [-350.7060546875, -6.553097634736138],
    1.33 +    [-345.5616455078125, -6.538320325468202],
    1.34 +    [-342.386962890625, -6.529090881007076],
    1.35 +    [-341.9425048828125, -6.527791927233787],
    1.36 +    [-337.3883056640625, -6.514383886150781],
    1.37 +    [-328.8133544921875, -6.488639771044976],
    1.38 +    [-326.1348876953125, -6.480460592697477],
    1.39 +    [-313.12744140625, -6.439759999015992],
    1.40 +    [-311.6180419921875, -6.434927968512049],
    1.41 +    [-303.40478515625, -6.4082177348965725],
    1.42 +    [-291.9320068359375, -6.369671035834965],
    1.43 +    [-289.791015625, -6.362310184909175],
    1.44 +    [-288.07568359375, -6.356373428913315],
    1.45 +    [-282.76220703125, -6.337756593913614],
    1.46 +    [-278.9659423828125, -6.32424009706147],
    1.47 +    [-276.1881103515625, -6.314232650754295],
    1.48 +    [-269.843994140625, -6.290994606392703],
    1.49 +    [-256.47509765625, -6.240182555852785],
    1.50 +    [-248.91619873046875, -6.2102675039793604],
    1.51 +    [-245.71783447265625, -6.197335184435549],
    1.52 +    [-244.9049072265625, -6.194021350132335],
    1.53 +    [-242.49176025390625, -6.184119163536406],
    1.54 +    [-223.97491455078125, -6.104686221071835],
    1.55 +    [-223.0770263671875, -6.100669325836893],
    1.56 +    [-221.50177001953125, -6.093582856519022],
    1.57 +    [-214.1610107421875, -6.0598807500687935],
    1.58 +    [-202.9705810546875, -6.0062142965262515],
    1.59 +    [-200.1683349609375, -5.9923121073369945],
    1.60 +    [-198.0869140625, -5.981859446096083],
    1.61 +    [-191.8330078125, -5.9497792165852905],
    1.62 +    [-183.4495849609375, -5.90509449745879],
    1.63 +    [-182.9005126953125, -5.902097012275789],
    1.64 +    [-167.5517578125, -5.8144483910067954],
    1.65 +    [-162.87738037109375, -5.786154254111214],
    1.66 +    [-159.6142578125, -5.765917008989405],
    1.67 +    [-150.01629638671875, -5.703902219845274],
    1.68 +    [-148.34051513671875, -5.6926689504460395],
    1.69 +    [-147.23760986328125, -5.685206387751923],
    1.70 +    [-143.65484619140625, -5.660572815631807],
    1.71 +    [-138.70599365234375, -5.625516713960633],
    1.72 +    [-119.55416870117188, -5.476934234171879],
    1.73 +    [-118.44155883789062, -5.467584665632571],
    1.74 +    [-112.7041015625, -5.417932675603434],
    1.75 +    [-111.43020629882812, -5.406565756574079],
    1.76 +    [-107.77297973632812, -5.373195678988387],
    1.77 +    [-107.6795654296875, -5.3723285712183735],
    1.78 +    [-105.091796875, -5.348004040102253],
    1.79 +    [-101.261474609375, -5.31087758970896],
    1.80 +    [-95.79150390625, -5.255348419702703],
    1.81 +    [-91.26885986328125, -5.206986845736275],
    1.82 +    [-87.33349609375, -5.162914035396619],
    1.83 +    [-78.23873901367188, -5.052952927749896],
    1.84 +    [-77.912353515625, -5.048772883924985],
    1.85 +    [-76.83489990234375, -5.034848487644809],
    1.86 +    [-61.255645751953125, -4.808269821238499],
    1.87 +    [-54.41380310058594, -4.689849459883311],
    1.88 +    [-43.967193603515625, -4.476720236388958],
    1.89 +    [-42.01084899902344, -4.431216695067421],
    1.90 +    [-30.609375, -4.114720236218123],
    1.91 +    [-26.711166381835938, -3.9785790831656023],
    1.92 +    [-25.241317749023438, -3.9220215830953484],
    1.93 +    [-14.624359130859375, -3.3770026324620295],
    1.94 +    [-12.431087493896484, -3.214961448471211],
    1.95 +    [-10.235607147216797, -3.021397455139021],
    1.96 +    [-9.41094970703125, -2.937831931335705],
    1.97 +    [-1.635939121246338, -1.267878515574959],
    1.98 +    [1.6504814008555524e-12, 1.6504814008555524e-12],
    1.99 +    [2.0654207510961697e-12, 2.0654207510961697e-12],
   1.100 +    [6.933230031758164e-12, 6.933230031758164e-12],
   1.101 +    [1.3351444949627478e-11, 1.3351444949627478e-11],
   1.102 +    [1.6399812063916386e-11, 1.6399812063916386e-11],
   1.103 +    [5.730159402528301e-11, 5.730159402528301e-11],
   1.104 +    [1.113731329382972e-10, 1.113731329382972e-10],
   1.105 +    [1.4214707189097453e-10, 1.4214707189097453e-10],
   1.106 +    [3.8006320313144215e-10, 3.8006320313144215e-10],
   1.107 +    [6.09162720266454e-10, 6.09162720266454e-10],
   1.108 +    [1.0221641311147778e-9, 1.0221641311147778e-9],
   1.109 +    [2.8819222563924995e-9, 2.8819222563924995e-9],
   1.110 +    [4.7627768395841485e-9, 4.7627768395841485e-9],
   1.111 +    [8.854133426439148e-9, 8.854133426439148e-9],
   1.112 +    [2.3050326092288742e-8, 2.305032609228874e-8],
   1.113 +    [5.9392490925347374e-8, 5.939249092534734e-8],
   1.114 +    [1.166764889148908e-7, 1.1667648891489053e-7],
   1.115 +    [2.3799674409019644e-7, 2.379967440901942e-7],
   1.116 +    [4.684659415943315e-7, 4.6846594159431437e-7],
   1.117 +    [9.382699772686465e-7, 9.382699772685088e-7],
   1.118 +    [0.00000110398559627356, 0.0000011039855962733358],
   1.119 +    [0.0000032917760108830407, 0.000003291776010877096],
   1.120 +    [0.00000751721381675452, 0.000007517213816683722],
   1.121 +    [0.000015114666894078255, 0.000015114666893502755],
   1.122 +    [0.00002986399340443313, 0.00002986399339999406],
   1.123 +    [0.00003387028118595481, 0.000033870281179478836],
   1.124 +    [0.00009066011989489198, 0.00009066011977069884],
   1.125 +    [0.00021949532674625516, 0.00021949532498377364],
   1.126 +    [0.00043952150736004114, 0.00043952149320897676],
   1.127 +    [0.0006333151832222939, 0.0006333151408864353],
   1.128 +    [0.001115123275667429, 0.0011151230445582744],
   1.129 +    [0.001962467096745968, 0.0019624658370807177],
   1.130 +    [0.005553754046559334, 0.005553725496786973],
   1.131 +    [0.008691128343343735, 0.008691018931968294],
   1.132 +    [0.02993336319923401, 0.02992889492062484],
   1.133 +    [0.05124260485172272, 0.05122020579778827],
   1.134 +    [0.11201295256614685, 0.1117800293787828],
   1.135 +    [0.23480379581451416, 0.23269806521543376],
   1.136 +    [0.4898730516433716, 0.4721357117742938],
   1.137 +    [0.7518312931060791, 0.694611571189336],
   1.138 +    [1.655740737915039, 1.2781607348262256],
   1.139 +    [3.5958566665649414, 1.9917262343245115],
   1.140 +    [3.662705421447754, 2.009484184971722],
   1.141 +    [4.142845153808594, 2.128787712416205],
   1.142 +    [5.957065582275391, 2.4846967934155475],
   1.143 +    [10.890350341796875, 3.083125584533294],
   1.144 +    [27.3714599609375, 4.002981567623351],
   1.145 +    [29.58606719970703, 4.080736210902826],
   1.146 +    [30.79753875732422, 4.120845430011113],
   1.147 +    [38.78157043457031, 4.351258506393416],
   1.148 +    [46.88148498535156, 4.540883728536112],
   1.149 +    [47.21551513671875, 4.547981853382592],
   1.150 +    [47.2205810546875, 4.5480891170767],
   1.151 +    [49.72361755371094, 4.599728302509061],
   1.152 +    [61.557464599609375, 4.8131842711857535],
   1.153 +    [67.82162475585938, 4.910082619934558],
   1.154 +    [68.82363891601562, 4.924747230639767],
   1.155 +    [73.75466918945312, 4.993937439635391],
   1.156 +    [80.95669555664062, 5.087099712053554],
   1.157 +    [85.26406860351562, 5.1389346970196295],
   1.158 +    [85.2677001953125, 5.138977285472121],
   1.159 +    [92.8238525390625, 5.223879832616765],
   1.160 +    [94.50357055664062, 5.241812789460327],
   1.161 +    [116.044677734375, 5.447141014648796],
   1.162 +    [123.77554321289062, 5.511633288238573],
   1.163 +    [132.3592529296875, 5.578681289305598],
   1.164 +    [139.7633056640625, 5.633110296634631],
   1.165 +    [143.9609375, 5.662701238627725],
   1.166 +    [146.31298828125, 5.678906941005323],
   1.167 +    [155.0980224609375, 5.737214893086866],
   1.168 +    [155.47784423828125, 5.739660763047893],
   1.169 +    [155.74066162109375, 5.741349685869528],
   1.170 +    [163.60546875, 5.790614371552514],
   1.171 +    [178.735107421875, 5.879059869096351],
   1.172 +    [179.70269775390625, 5.884458728291027],
   1.173 +    [179.81976318359375, 5.885109945587401],
   1.174 +    [181.3594970703125, 5.893636014368936],
   1.175 +    [194.82861328125, 5.965274032538233],
   1.176 +    [195.23284912109375, 5.967346683696556],
   1.177 +    [199.07666015625, 5.986843466070591],
   1.178 +    [205.77423095703125, 6.019932686217942],
   1.179 +    [206.04608154296875, 6.021252909681261],
   1.180 +    [209.36480712890625, 6.037231102920489],
   1.181 +    [210.703857421875, 6.043606439928324],
   1.182 +    [215.2139892578125, 6.06478541011501],
   1.183 +    [225.83892822265625, 6.112974120371601],
   1.184 +    [226.95465087890625, 6.117902255760311],
   1.185 +    [232.79864501953125, 6.1433256889594094],
   1.186 +    [240.647216796875, 6.176483527820343],
   1.187 +    [243.1324462890625, 6.186757751007361],
   1.188 +    [251.26702880859375, 6.219667373726848],
   1.189 +    [253.72906494140625, 6.229418088083555],
   1.190 +    [254.6866455078125, 6.233184983047428],
   1.191 +    [257.2001953125, 6.243005711460192],
   1.192 +    [257.7401123046875, 6.245102704489327],
   1.193 +    [261.731201171875, 6.260468857392134],
   1.194 +    [263.75, 6.268152459140511],
   1.195 +    [265.5167236328125, 6.2748285545831655],
   1.196 +    [273.9171142578125, 6.305976070434008],
   1.197 +    [278.897705078125, 6.32399546069982],
   1.198 +    [279.167236328125, 6.324961403980197],
   1.199 +    [292.207275390625, 6.370613506132747],
   1.200 +    [293.5975341796875, 6.375359978930309],
   1.201 +    [293.9749755859375, 6.3766447200146],
   1.202 +    [295.1998291015625, 6.380802563199264],
   1.203 +    [297.2799072265625, 6.387824152942429],
   1.204 +    [297.9285888671875, 6.390003820200831],
   1.205 +    [298.1058349609375, 6.3905985680679],
   1.206 +    [300.2803955078125, 6.397866642974941],
   1.207 +    [307.531005859375, 6.421725738171608],
   1.208 +    [308.1754150390625, 6.423818963102848],
   1.209 +    [309.7344970703125, 6.428865255911759],
   1.210 +    [314.2847900390625, 6.443449261058927],
   1.211 +    [314.7236328125, 6.444844602076255],
   1.212 +    [320.8406982421875, 6.464094341970107],
   1.213 +    [321.2459716796875, 6.465356699668166],
   1.214 +    [321.9031982421875, 6.467400466944125],
   1.215 +    [323.457763671875, 6.472218114936839],
   1.216 +    [330.82861328125, 6.4947499213823265],
   1.217 +    [335.008544921875, 6.507305446835735],
   1.218 +    [340.7171630859375, 6.524202033435675],
   1.219 +    [348.4677734375, 6.546694993078936],
   1.220 +    [349.1292724609375, 6.548591493378012],
   1.221 +    [372.4288330078125, 6.613194950203132],
   1.222 +    [376.7574462890625, 6.6247505436339065],
   1.223 +    [378.4306640625, 6.629181796246806],
   1.224 +    [390.9031982421875, 6.6616087711302185],
   1.225 +    [405.7918701171875, 6.698989091751707],
   1.226 +    [407.3646240234375, 6.702857353572475],
   1.227 +    [413.3758544921875, 6.717505881986416],
   1.228 +    [415.7354736328125, 6.723197804327891],
   1.229 +    [417.193603515625, 6.726699007993023],
   1.230 +    [420.874755859375, 6.735483889307782],
   1.231 +    [429.2635498046875, 6.755219602793124],
   1.232 +    [429.756103515625, 6.756366380816258],
   1.233 +    [433.9931640625, 6.766177290841293],
   1.234 +    [434.0106201171875, 6.766217511883346],
   1.235 +    [440.073974609375, 6.780091308338912],
   1.236 +    [450.2220458984375, 6.802889310303153],
   1.237 +    [455.017578125, 6.813484439494547],
   1.238 +    [457.1668701171875, 6.818196843455478],
   1.239 +    [457.5068359375, 6.818940201487998],
   1.240 +    [459.2913818359375, 6.822833193143805],
   1.241 +    [459.492431640625, 6.82327083544577],
   1.242 +    [459.743896484375, 6.823817951018],
   1.243 +    [464.888427734375, 6.834945773756887],
   1.244 +    [464.96630859375, 6.835113285253827],
   1.245 +    [467.6949462890625, 6.840964582694129],
   1.246 +    [468.86767578125, 6.84346890521034],
   1.247 +    [470.5927734375, 6.847141429556457],
   1.248 +    [481.109619140625, 6.869243403190376],
   1.249 +    [487.4595947265625, 6.882355637062964],
   1.250 +    [488.521484375, 6.884531678915821],
   1.251 +    [492.8812255859375, 6.89341643293734],
   1.252 +    [494.0684814453125, 6.895822338701104],
   1.253 +    [496.4613037109375, 6.900653737167637],
   1.254 +    [716.154052734375, 7.2670429692740965],
   1.255 +    [1799.92578125, 8.188647968122073],
   1.256 +    [3564.845703125, 8.872023251113289],
   1.257 +    [7139.869140625, 9.566596912986167],
   1.258 +    [12081.22265625, 10.092554861905608],
   1.259 +    [22810.2421875, 10.728112113864427],
   1.260 +    [46598.96875, 11.442480870715618],
   1.261 +    [108493.375, 12.28759157077177],
   1.262 +    [153860.8125, 12.636950838344218],
   1.263 +    [307019.5, 13.327813723030063],
   1.264 +    [682577.25, 14.126778167009777],
   1.265 +    [1788919, 15.090269265334971],
   1.266 +    [3769169, 15.835512291283944],
   1.267 +    [4327820, 15.973721689554742],
   1.268 +    [11044024, 16.910547205715446],
   1.269 +    [21423208, 17.573132558903225],
   1.270 +    [62828288, 18.649063156437965],
   1.271 +    [70207360, 18.760110887365155],
   1.272 +    [154231424, 19.547111966180875],
   1.273 +    [294509056, 20.193967491567523],
   1.274 +    [1070557184, 21.484592263156223],
   1.275 +    [1957922816, 22.088297141021556],
   1.276 +    [3912507392, 22.780591462699917],
   1.277 +    [7279233024, 23.401438520318692],
   1.278 +    [9665245184, 23.684949498080787],
   1.279 +    [22627590144, 24.5355829820426],
   1.280 +    [60601991168, 25.520740767599584],
   1.281 +    [134018236416, 26.31438890085422],
   1.282 +    [204864946176, 26.73876398039979],
   1.283 +    [284346286080, 27.06660583008718],
   1.284 +    [914576637952, 28.234874284944635],
   1.285 +    [1581915832320, 28.78280496108106]
   1.286 +];
   1.287 +
   1.288 +var sloppy_tolerance = 1000;  // FIXME
   1.289 +
   1.290 +for (var [x, y] of sinh_data)
   1.291 +    assertNear(Math.asinh(x), y, sloppy_tolerance);
   1.292 +
   1.293 +assertNear(Math.asinh(1e300), 691.4686750787737, sloppy_tolerance);
   1.294 +assertNear(Math.asinh(1e-300), 1e-300, sloppy_tolerance);
   1.295 +assertNear(Math.asinh(1e-5), 0.000009999999999833334, sloppy_tolerance);
   1.296 +assertNear(Math.asinh(0.3), 0.29567304756342244, sloppy_tolerance);
   1.297 +assertNear(Math.asinh(1), 0.881373587019543, sloppy_tolerance);
   1.298 +
   1.299 +for (var i = 0; i <= 80; i++) {
   1.300 +    var x = (i - 40) / 4;
   1.301 +    assertNear(Math.asinh(Math.sinh(x)), x, sloppy_tolerance);
   1.302 +}
   1.303 +
   1.304 +for (var i = -20; i < 20; i++)
   1.305 +    assertNear(Math.asinh(Math.sinh(i)), i, sloppy_tolerance);
   1.306 +
   1.307 +reportCompare(0, 0, "ok");
   1.308 +

mercurial