Files
yallie 9fa3874800 Added the contents of the archive.
Moved the original file to the archive subfolder.
2017-11-20 16:11:42 +03:00

635 lines
29 KiB
JavaScript

//# ==++==
//#
//#
//# Copyright (c) 2002 Microsoft Corporation. All rights reserved.
//#
//# The use and distribution terms for this software are contained in the file
//# named license.txt, which can be found in the root of this distribution.
//# By using this software in any fashion, you are agreeing to be bound by the
//# terms of this license.
//#
//# You must not remove this notice, or any other, from this software.
//#
//#
//# ==--==
//####################################################################################
@cc_on
import System;
var NULL_DISPATCH = null;
var apGlobalObj;
var apPlatform;
var lFailCount;
var iTestID = 53358;
function verify( sAct, sExp, bugNum) {
if (null == bugNum) bugNum = "";
if (sAct != sExp)
apLogFailInfo( m_scen+" failed", sExp, sAct,bugNum);
}
var m_scen = "";
function round001() {
apInitTest("round001 ");
//----------------------------------------------------------------------------
apInitScenario("1. min pos");
m_scen = "min pos";
verify(Math.round(2.2250738585072014e-308), 0, null);
//----------------------------------------------------------------------------
apInitScenario("2. min pos < n < max pos, up to full display precision");
m_scen = "min pos < n < max pos, up to full display precision";
verify(Math.round(.6), 1, null);
verify(Math.round(2.), 2, null);
verify(Math.round(.44), 0, null);
verify(Math.round(14.), 14, null);
verify(Math.round(.786), 1, null);
verify(Math.round(7.03), 7, null);
verify(Math.round(135.), 135, null);
verify(Math.round(.1198), 0, null);
verify(Math.round(0.287), 0, null);
verify(Math.round(540.0), 540, null);
verify(Math.round(6076.), 6076, null);
verify(Math.round(.62153), 1, null);
verify(Math.round(96.121), 96, null);
verify(Math.round(489.20), 489, null);
verify(Math.round(5499.2), 5499, null);
verify(Math.round(.155358), 0, null);
verify(Math.round(2.02021), 2, null);
verify(Math.round(94.1046), 94, null);
verify(Math.round(7918.40), 7918, null);
verify(Math.round(68048.8), 68049, null);
verify(Math.round(213309.), 213309, null);
verify(Math.round(9.544780), 10, null);
verify(Math.round(88.08627), 88, null);
verify(Math.round(772.8569), 773, null);
verify(Math.round(52981.86), 52982, null);
verify(Math.round(557085.8), 557086, null);
verify(Math.round(2446900.), 2446900, null);
verify(Math.round(5.2120043), 5, null);
verify(Math.round(13.252459), 13, null);
verify(Math.round(241.43360), 241, null);
verify(Math.round(80312.218), 80312, null);
verify(Math.round(696010.94), 696011, null);
verify(Math.round(9958380.8), 9958381, null);
verify(Math.round(.143470961), 0, null);
verify(Math.round(1.23601932), 1, null);
verify(Math.round(39.0912734), 39, null);
verify(Math.round(1312.74929), 1313, null);
verify(Math.round(98224.9972), 98225, null);
verify(Math.round(595098.763), 595099, null);
verify(Math.round(75903211.0), 75903211, null);
verify(Math.round(690839080.), 690839080, null);
verify(Math.round(.8807708514), 1, null);
verify(Math.round(75.27016363), 75, null);
verify(Math.round(561.0251120), 561, null);
verify(Math.round(5562.421819), 5562, null);
verify(Math.round(318622.0868), 318622, null);
verify(Math.round(2255066.563), 2255067, null);
verify(Math.round(63141035.99), 63141036, null);
verify(Math.round(4132283254.), 4132283254, null);
verify(Math.round(.90337464930), 1, null);
verify(Math.round(2.5474295081), 3, null);
verify(Math.round(197.23794979), 197, null);
verify(Math.round(7226.6664991), 7227, null);
verify(Math.round(47583.278459), 47583, null);
verify(Math.round(6237632.6977), 6237633, null);
verify(Math.round(45252125.874), 45252126, null);
verify(Math.round(475920249.94), 475920250, null);
verify(Math.round(71875996973.), 71875996973, null);
verify(Math.round(72860084283), 72860084283, null);
verify(Math.round(.148158349250), 0, null);
verify(Math.round(86.1765834983), 86, null);
verify(Math.round(410.944670926), 411, null);
verify(Math.round(3101.12061200), 3101, null);
verify(Math.round(207709.254881), 207709, null);
verify(Math.round(4977900.91535), 4977901, null);
verify(Math.round(79846204.7014), 79846205, null);
verify(Math.round(1030065957.74), 1030065958, null);
verify(Math.round(22745604335.8), 22745604336, null);
verify(Math.round(978322384890.), 978322384890, null);
verify(Math.round(.2071476641772), 0, null);
verify(Math.round(5.197179852767), 5, null);
verify(Math.round(28.92491713587), 29, null);
verify(Math.round(7105.498363543), 7105, null);
verify(Math.round(53209.09272198), 53209, null);
verify(Math.round(365883.2780820), 365883, null);
verify(Math.round(83667863.76719), 83667864, null);
verify(Math.round(587065498.1415), 587065498, null);
verify(Math.round(1234297163.026), 1234297163, null);
verify(Math.round(507570635327.0), 507570635327, null);
verify(Math.round(7159818530489.), 7159818530489, null);
verify(Math.round(9415642957298), 9415642957298, null);
verify(Math.round(2.5348921384159), 3, null);
verify(Math.round(78.064458756760), 78, null);
verify(Math.round(413.92148252314), 414, null);
verify(Math.round(72462.406537462), 72462, null);
verify(Math.round(660928.11304554), 660928, null);
verify(Math.round(9090729.6320133), 9090730, null);
verify(Math.round(496567687.42381), 496567687, null);
verify(Math.round(6216971651.0665), 6216971651, null);
verify(Math.round(38220781319.655), 38220781320, null);
verify(Math.round(9068799484665.9), 9068799484666, null);
verify(Math.round(35400069447487.), 35400069447487, null);
verify(Math.round(43823967881364), 43823967881364, null);
verify(Math.round(7.89049944596633), 8, null);
verify(Math.round(38.8539718544432), 39, null);
verify(Math.round(386.440145639707), 386, null);
verify(Math.round(15637.3266253974), 15637, null);
verify(Math.round(553929.976613362), 553930, null);
verify(Math.round(6322851.30065633), 6322851, null);
verify(Math.round(376480639.494894), 376480639, null);
verify(Math.round(1209785286.94289), 1209785287, null);
verify(Math.round(27835156131.2802), 27835156131, null);
verify(Math.round(6716339086274.29), 6716339086274, null);
verify(Math.round(31018751905191.5), 31018751905192, null);
verify(Math.round(690931313397259.), 690931313397259, null);
verify(Math.round(225264066871575), 225264066871575, null);
//----------------------------------------------------------------------------
apInitScenario("3. min pos < n < 1, e notation");
m_scen = "min pos < n < 1, e notation";
verify(Math.round(8.0e-0), 8, null);
verify(Math.round(8.0e-1), 1, null);
verify(Math.round(8.0e-2), 0, null);
verify(Math.round(6.40e-2), 0, null);
verify(Math.round(6.40e-3), 0, null);
verify(Math.round(8.667e-2), 0, null);
verify(Math.round(8.667e-4), 0, null);
verify(Math.round(3.0404e-3), 0, null);
verify(Math.round(3.0404e-4), 0, null);
verify(Math.round(9.69482e-4), 0, null);
verify(Math.round(9.69482e-5), 0, null);
verify(Math.round(9.69482e-6), 0, null);
verify(Math.round(2.638434e-6), 0, null);
verify(Math.round(2.638434e-7), 0, null);
verify(Math.round(4.7256510e-6), 0, null);
verify(Math.round(4.7256510e-8), 0, null);
verify(Math.round(6.77611611e-7), 0, null);
verify(Math.round(6.77611611e-8), 0, null);
verify(Math.round(3.474819856e-8), 0, null);
verify(Math.round(3.474819856e-9), 0, null);
verify(Math.round(3.474819856e-10), 0, null);
verify(Math.round(3.0371664621e-10), 0, null);
verify(Math.round(3.0371664621e-11), 0, null);
verify(Math.round(7.06342879866e-10), 0, null);
verify(Math.round(7.06342879866e-12), 0, null);
verify(Math.round(8.723993732395e-11), 0, null);
verify(Math.round(8.723993732395e-12), 0, null);
verify(Math.round(7.0575617301540e-12), 0, null);
verify(Math.round(7.0575617301540e-13), 0, null);
verify(Math.round(7.0575617301540e-14), 0, null);
verify(Math.round(8.27557583331216e-14), 0, null);
verify(Math.round(8.27557583331216e-15), 0, null);
verify(Math.round(5.06693033864411e-14), 0, null);
verify(Math.round(5.06693033864411e-16), 0, null);
verify(Math.round(5.69160741282644e-15), 0, null);
verify(Math.round(5.69160741282644e-16), 0, null);
verify(Math.round(7.69183026651453e-16), 0, null);
verify(Math.round(7.69183026651453e-17), 0, null);
verify(Math.round(7.69183026651453e-18), 0, null);
verify(Math.round(4.47242979260183e-18), 0, null);
verify(Math.round(4.47242979260183e-19), 0, null);
verify(Math.round(7.94034863858147e-18), 0, null);
verify(Math.round(7.94034863858147e-20), 0, null);
verify(Math.round(9.37450335641405e-19), 0, null);
verify(Math.round(9.37450335641405e-20), 0, null);
verify(Math.round(5.45589868294713e-20), 0, null);
verify(Math.round(5.45589868294713e-21), 0, null);
verify(Math.round(5.45589868294713e-22), 0, null);
verify(Math.round(9.69019120785362e-22), 0, null);
verify(Math.round(9.69019120785362e-23), 0, null);
verify(Math.round(5.58225385330127e-22), 0, null);
verify(Math.round(5.58225385330127e-24), 0, null);
verify(Math.round(3.01953106436364e-105), 0, null);
verify(Math.round(3.01953106436364e-106), 0, null);
verify(Math.round(3.50135646186260e-305), 0, null);
verify(Math.round(3.50135646186260e-306), 0, null);
verify(Math.round(3.50135646186260e-307), 0, null);
verify(Math.round(7.85144575561003e-307), 0, null);
verify(Math.round(7.85144575561003e-308), 0, null);
//----------------------------------------------------------------------------
apInitScenario("4. min pos < n < max pos, e notation");
m_scen = "min pos < n < max pos, e notation";
verify(Math.round(8.8e0), 9, null);
verify(Math.round(8.8e1), 88, null);
verify(Math.round(8.8e2), 880, null);
verify(Math.round(9.29e2), 929, null);
verify(Math.round(9.29e3), 9290, null);
verify(Math.round(3.101e2), 310, null);
verify(Math.round(3.101e4), 31010, null);
verify(Math.round(2.9432e3), 2943, null);
verify(Math.round(2.9432e4), 29432, null);
verify(Math.round(7.40524e4), 74052, null);
verify(Math.round(7.40524e5), 740524, null);
verify(Math.round(7.40524e6), 7405240, null);
verify(Math.round(8.210094e6), 8210094, null);
verify(Math.round(8.210094e7), 82100940, null);
verify(Math.round(7.6889116e6), 7688912, null);
verify(Math.round(7.6889116e8), 768891160, null);
verify(Math.round(1.37978822e7), 13797882, null);
verify(Math.round(1.37978822e8), 137978822, null);
verify(Math.round(4.681924409e8), 468192441, null);
verify(Math.round(4.681924409e9), 4681924409, null);
verify(Math.round(4.681924409e10), 46819244090, null);
verify(Math.round(2.4377238908e10), 24377238908, null);
verify(Math.round(2.4377238908e11), 243772389080, null);
verify(Math.round(4.25294288348e10), 42529428835, null);
verify(Math.round(4.25294288348e12), 4252942883480, null);
verify(Math.round(1.113176106094e11), 111317610609, null);
verify(Math.round(1.113176106094e12), 1113176106094, null);
verify(Math.round(5.0887522211581e12), 5088752221158, null);
verify(Math.round(5.0887522211581e13), 50887522211581, null);
verify(Math.round(5.0887522211581e14), 508875222115810, null);
verify(Math.round(1.78620560045955e14), 178620560045955, null);
verify(Math.round(1.78620560045955e15), 1786205600459550, null);
verify(Math.round(5.31710407920338e14), 531710407920338, null);
verify(Math.round(5.31710407920338e16), 53171040792033800, null);
verify(Math.round(7.13740747001018e15), 7137407470010180, null);
verify(Math.round(7.13740747001018e16), 71374074700101800, null);
/*
verify(Math.round(5.88101283783150e16), 58810128378315000, null);
verify(Math.round(5.88101283783150e17), 588101283783149950, null);
verify(Math.round(5.88101283783150e18), 5881012837831499800, null);
verify(Math.round(8.54797277388807e18), 8547972773888069600, null);
verify(Math.round(8.54797277388807e19), 85479727738880705000, null);
verify(Math.round(6.78722035300482e18), 6787220353004820500, null);
verify(Math.round(6.78722035300482e20), 6.7872203530048202e+020, null);
*/
verify(Math.round(3.12354695000003e19), 31235469500000301000, null);
verify(Math.round(3.12354695000003e20), 3.1235469500000299e+020, null);
verify(Math.round(7.53586331797861e20), 7.5358633179786104e+020, null);
verify(Math.round(7.53586331797861e21), 7.5358633179786101e+021, null);
verify(Math.round(7.53586331797861e22), 7.5358633179786097e+022, null);
verify(Math.round(5.00032366740068e22), 5.0003236674006803e+022, null);
verify(Math.round(5.00032366740068e23), 5.0003236674006802e+023, null);
verify(Math.round(3.10807699355180e22), 3.1080769935518e+022, null);
verify(Math.round(3.10807699355180e24), 3.1080769935518001e+024, null);
verify(Math.round(4.43269743388067e105), 4.4326974338806698e+105, null);
verify(Math.round(4.43269743388067e106), 4.4326974338806703e+106, null);
verify(Math.round(3.94522426900222e306), 3.9452242690022199e+306, null);
verify(Math.round(3.94522426900222e307), 3.9452242690022201e+307, null);
verify(Math.round(3.94522426900222e308), 3.94522426900222e+308, null);
verify(Math.round(4.78390317175112e307), 4.7839031717511203e+307, null);
verify(Math.round(4.78390317175112e308), 4.78390317175112e+308, null);
verify(Math.round(4.78390317175112e309), 4.78390317175112e+309, null);
//----------------------------------------------------------------------------
apInitScenario("4. max pos");
m_scen = "max pos";
verify(Math.round(1.7976931348623158e308),1.7976931348623158e308, null);
//----------------------------------------------------------------------------
apInitScenario("5. > max pos float (1.#INF)");
m_scen = "> max pos float (1.#INF)";
verify(Math.round(1.797693134862315807e309),1.797693134862315807e309, null);
//----------------------------------------------------------------------------
apInitScenario("6. max neg");
m_scen = "max neg";
verify(Math.round(-2.2250738585072012595e-308),0, null);
//----------------------------------------------------------------------------
apInitScenario("7. max neg > n > min neg, up to full display precision");
m_scen = "max neg > n > min neg, up to full display precision";
verify(Math.round(-.5), 0, null);
verify(Math.round(-5.), -5, null);
verify(Math.round(-.96), -1, null);
verify(Math.round(-46.), -46, null);
verify(Math.round(-.479), 0, null);
verify(Math.round(-1.49), -1, null);
verify(Math.round(-571.), -571, null);
verify(Math.round(-.4592), 0, null);
verify(Math.round(-0.569), -1, null);
verify(Math.round(-543.6), -544, null);
verify(Math.round(-5967.), -5967, null);
verify(Math.round(-.90277), -1, null);
verify(Math.round(-41.279), -41, null);
verify(Math.round(-435.14), -435, null);
verify(Math.round(-8087.2), -8087, null);
verify(Math.round(-.905499), -1, null);
verify(Math.round(-2.40249), -2, null);
verify(Math.round(-49.7373), -50, null);
verify(Math.round(-3380.45), -3380, null);
verify(Math.round(-38655.0), -38655, null);
verify(Math.round(-330284.), -330284, null);
verify(Math.round(-2.258134), -2, null);
verify(Math.round(-57.53541), -58, null);
verify(Math.round(-296.2066), -296, null);
verify(Math.round(-69894.69), -69895, null);
verify(Math.round(-817561.2), -817561, null);
verify(Math.round(-1508910.), -1508910, null);
verify(Math.round(-3.6205174), -4, null);
verify(Math.round(-49.521465), -50, null);
verify(Math.round(-293.83437), -294, null);
verify(Math.round(-40721.260), -40721, null);
verify(Math.round(-588214.95), -588215, null);
verify(Math.round(-4061036.7), -4061037, null);
verify(Math.round(-.313171193), 0, null);
verify(Math.round(-4.31762894), -4, null);
verify(Math.round(-51.2635061), -51, null);
verify(Math.round(-3690.35822), -3690, null);
verify(Math.round(-77552.1661), -77552, null);
verify(Math.round(-307853.281), -307853, null);
verify(Math.round(-65487957.7), -65487958, null);
verify(Math.round(-368544489.), -368544489, null);
verify(Math.round(-.1991785416), 0, null);
verify(Math.round(-78.77000769), -79, null);
verify(Math.round(-848.5457325), -849, null);
verify(Math.round(-2501.275743), -2501, null);
verify(Math.round(-772824.9969), -772825, null);
verify(Math.round(-8111880.441), -8111880, null);
verify(Math.round(-32635057.88), -32635058, null);
verify(Math.round(-3981052388.), -3981052388, null);
verify(Math.round(-9075243880), -9075243880, null);
verify(Math.round(-.60844235274), -1, null);
verify(Math.round(-91.410728930), -91, null);
verify(Math.round(-655.18392972), -655, null);
verify(Math.round(-6895.7597385), -6896, null);
verify(Math.round(-380261.89037), -380262, null);
verify(Math.round(-4585902.3424), -4585902, null);
verify(Math.round(-58454441.454), -58454441, null);
verify(Math.round(-1401348344.2), -1401348344, null);
verify(Math.round(-76363606118.), -76363606118, null);
verify(Math.round(-95660430789), -95660430789, null);
verify(Math.round(-1.62114054111), -2, null);
verify(Math.round(-31.0670443374), -31, null);
verify(Math.round(-772.618954449), -773, null);
verify(Math.round(-32393.5294507), -32394, null);
verify(Math.round(-567241.586742), -567242, null);
verify(Math.round(-5885209.59360), -5885210, null);
verify(Math.round(-332285057.260), -332285057, null);
verify(Math.round(-7311868918.51), -7311868919, null);
verify(Math.round(-22516507490.4), -22516507490, null);
verify(Math.round(-604644063961), -604644063961, null);
verify(Math.round(-.3489196701652), 0, null);
verify(Math.round(-8.764807916087), -9, null);
verify(Math.round(-514.7378519873), -515, null);
verify(Math.round(-3593.085212360), -3593, null);
verify(Math.round(-40542.41949671), -40542, null);
verify(Math.round(-7893828.344884), -7893828, null);
verify(Math.round(-18948367.87536), -18948368, null);
verify(Math.round(-645330477.8117), -645330478, null);
verify(Math.round(-92229379100.37), -92229379100, null);
verify(Math.round(-283988953726.7), -283988953727, null);
verify(Math.round(-8883069582080.), -8883069582080, null);
verify(Math.round(-.99747464946105), -1, null);
verify(Math.round(-7.8390010385020), -8, null);
verify(Math.round(-38.706642505934), -39, null);
verify(Math.round(-1197.1252686590), -1197, null);
verify(Math.round(-46082.538756131), -46083, null);
verify(Math.round(-799827.87110566), -799828, null);
verify(Math.round(-77450602.685780), -77450603, null);
verify(Math.round(-550693548.34689), -550693548, null);
verify(Math.round(-6661523519.2974), -6661523519, null);
verify(Math.round(-560690445612.22), -560690445612, null);
verify(Math.round(-1396666139436.1), -1396666139436, null);
verify(Math.round(-13595809502008.), -13595809502008, null);
verify(Math.round(-.946037233674496), -1, null);
verify(Math.round(-5.48428455805845), -5, null);
verify(Math.round(-94.1054707644185), -94, null);
verify(Math.round(-2814.49360265583), -2814, null);
verify(Math.round(-90108.1357162047), -90108, null);
verify(Math.round(-863454.843502128), -863455, null);
verify(Math.round(-13044202.5876058), -13044203, null);
verify(Math.round(-381640833.081739), -381640833, null);
verify(Math.round(-9870443883.43428), -9870443883, null);
verify(Math.round(-628182548242.912), -628182548243, null);
verify(Math.round(-8149733900124.40), -8149733900124, null);
verify(Math.round(-92432576712182.4), -92432576712182, null);
verify(Math.round(-710446389100490.), -710446389100490, null);
verify(Math.round(-990962943490046), -990962943490046, null);
//----------------------------------------------------------------------------
apInitScenario("8. max neg > n > -1, e notation");
m_scen = "max neg > n > -1, e notation";
verify(Math.round(-5.9e-0), -6, null);
verify(Math.round(-5.9e-1), -1, null);
verify(Math.round(-5.9e-2), 0, null);
verify(Math.round(-8.92e-2), 0, null);
verify(Math.round(-8.92e-3), 0, null);
verify(Math.round(-2.951e-2), 0, null);
verify(Math.round(-2.951e-4), 0, null);
verify(Math.round(-7.1573e-3), 0, null);
verify(Math.round(-7.1573e-4), 0, null);
verify(Math.round(-7.83191e-4), 0, null);
verify(Math.round(-7.83191e-5), 0, null);
verify(Math.round(-7.83191e-6), 0, null);
verify(Math.round(-8.761734e-6), 0, null);
verify(Math.round(-8.761734e-7), 0, null);
verify(Math.round(-5.6388918e-6), 0, null);
verify(Math.round(-5.6388918e-8), 0, null);
verify(Math.round(-5.51156439e-7), 0, null);
verify(Math.round(-5.51156439e-8), 0, null);
verify(Math.round(-3.640164456e-8), 0, null);
verify(Math.round(-3.640164456e-9), 0, null);
verify(Math.round(-3.640164456e-10), 0, null);
verify(Math.round(-1.4384034645e-10), 0, null);
verify(Math.round(-1.4384034645e-11), 0, null);
verify(Math.round(-2.25583947958e-10), 0, null);
verify(Math.round(-2.25583947958e-12), 0, null);
verify(Math.round(-2.011142560596e-11), 0, null);
verify(Math.round(-2.011142560596e-12), 0, null);
verify(Math.round(-8.9001791229158e-12), 0, null);
verify(Math.round(-8.9001791229158e-13), 0, null);
verify(Math.round(-8.9001791229158e-14), 0, null);
verify(Math.round(-5.25024887140531e-14), 0, null);
verify(Math.round(-5.25024887140531e-15), 0, null);
verify(Math.round(-5.78935347372427e-14), 0, null);
verify(Math.round(-5.78935347372427e-16), 0, null);
verify(Math.round(-2.29358110607862e-15), 0, null);
verify(Math.round(-2.29358110607862e-16), 0, null);
verify(Math.round(-3.97922068769070e-16), 0, null);
verify(Math.round(-3.97922068769070e-17), 0, null);
verify(Math.round(-3.97922068769070e-18), 0, null);
verify(Math.round(-6.06392842726122e-18), 0, null);
verify(Math.round(-6.06392842726122e-19), 0, null);
verify(Math.round(-7.32488735425603e-18), 0, null);
verify(Math.round(-7.32488735425603e-20), 0, null);
verify(Math.round(-3.77369453157441e-19), 0, null);
verify(Math.round(-3.77369453157441e-20), 0, null);
verify(Math.round(-7.90712501118520e-20), 0, null);
verify(Math.round(-7.90712501118520e-21), 0, null);
verify(Math.round(-7.90712501118520e-22), 0, null);
verify(Math.round(-4.81083664920017e-22), 0, null);
verify(Math.round(-4.81083664920017e-23), 0, null);
verify(Math.round(-9.76622908870673e-22), 0, null);
verify(Math.round(-9.76622908870673e-24), 0, null);
verify(Math.round(-8.87038338701245e-105), 0, null);
verify(Math.round(-8.87038338701245e-106), 0, null);
verify(Math.round(-5.85334747871478e-305), 0, null);
verify(Math.round(-5.85334747871478e-306), 0, null);
verify(Math.round(-5.85334747871478e-307), 0, null);
verify(Math.round(-8.31942411940214e-306), 0, null);
verify(Math.round(-8.31942411940214e-307), 0, null);
verify(Math.round(-8.31942411940214e-308), 0, null);
//----------------------------------------------------------------------------
apInitScenario("9. max neg > n > min neg, e notation");
m_scen = "max neg > n > min neg, e notation";
verify(Math.round(-3.2e0), -3, null);
verify(Math.round(-3.2e1), -32, null);
verify(Math.round(-3.2e2), -320, null);
verify(Math.round(-1.24e2), -124, null);
verify(Math.round(-1.24e3), -1240, null);
verify(Math.round(-5.000e2), -500, null);
verify(Math.round(-5.000e4), -50000, null);
verify(Math.round(-9.4025e3), -9402, null);
verify(Math.round(-9.4025e4), -94025, null);
verify(Math.round(-9.29718e4), -92972, null);
verify(Math.round(-9.29718e5), -929718, null);
verify(Math.round(-9.29718e6), -9297180, null);
verify(Math.round(-7.211709e6), -7211709, null);
verify(Math.round(-7.211709e7), -72117090, null);
verify(Math.round(-3.6387110e6), -3638711, null);
verify(Math.round(-3.6387110e8), -363871100, null);
verify(Math.round(-3.63890686e7), -36389069, null);
verify(Math.round(-3.63890686e8), -363890686, null);
verify(Math.round(-9.403881615e8), -940388161, null);
verify(Math.round(-9.403881615e9), -9403881615, null);
verify(Math.round(-9.403881615e10), -94038816150, null);
verify(Math.round(-4.6302738193e10), -46302738193, null);
verify(Math.round(-4.6302738193e11), -463027381930, null);
verify(Math.round(-7.79660110253e10), -77966011025, null);
verify(Math.round(-7.79660110253e12), -7796601102530, null);
verify(Math.round(-6.659646216312e11), -665964621631, null);
verify(Math.round(-6.659646216312e12), -6659646216312, null);
verify(Math.round(-5.8316948988823e12), -5831694898882, null);
verify(Math.round(-5.8316948988823e13), -58316948988823, null);
verify(Math.round(-5.8316948988823e14), -583169489888230, null);
verify(Math.round(-1.55282634020501e14), -155282634020501, null);
verify(Math.round(-1.55282634020501e15), -1552826340205010, null);
verify(Math.round(-4.43824587100373e14), -443824587100373, null);
verify(Math.round(-4.43824587100373e16), -44382458710037296, null);
verify(Math.round(-9.32022561741136e15), -9320225617411360, null);
verify(Math.round(-9.32022561741136e16), -93202256174113600, null);
/*
verify(Math.round(-4.22075855655506e16), -42207585565550600, null);
verify(Math.round(-4.22075855655506e17), -422075855655505980, null);
verify(Math.round(-4.22075855655506e18), -4220758556555060200, null);
verify(Math.round(-9.03120769102516e18), -9031207691025160200, null);
verify(Math.round(-9.03120769102516e19), -90312076910251606000, null);
verify(Math.round(-6.39783187882541e18), -6397831878825409500, null);
verify(Math.round(-6.39783187882541e20), -6.3978318788254106e+020, null);
*/
verify(Math.round(-6.61005335930233e19), -66100533593023300000, null);
verify(Math.round(-6.61005335930233e20), -6.6100533593023303e+020, null);
verify(Math.round(-3.28172428104275e20), -3.28172428104275e+020, null);
verify(Math.round(-3.28172428104275e21), -3.2817242810427501e+021, null);
verify(Math.round(-3.28172428104275e22), -3.2817242810427499e+022, null);
verify(Math.round(-2.83286411492686e22), -2.83286411492686e+022, null);
verify(Math.round(-2.83286411492686e23), -2.8328641149268601e+023, null);
verify(Math.round(-6.16754253210713e22), -6.1675425321071298e+022, null);
verify(Math.round(-6.16754253210713e24), -6.1675425321071301e+024, null);
verify(Math.round(-7.17170763763262e105), -7.1717076376326199e+105, null);
verify(Math.round(-7.17170763763262e106), -7.1717076376326203e+106, null);
verify(Math.round(-5.98908565022927e305), -5.9890856502292702e+305, null);
verify(Math.round(-5.98908565022927e306), -5.9890856502292695e+306, null);
verify(Math.round(-5.98908565022927e307), -5.9890856502292698e+307, null);
verify(Math.round(-3.42098716329319e306), -3.4209871632931897e+306, null);
verify(Math.round(-3.42098716329319e307), -3.4209871632931902e+307, null);
verify(Math.round(-3.42098716329319e308), -3.42098716329319e+309, null);
//----------------------------------------------------------------------------
apInitScenario("9. min neg");
m_scen = "min neg";
verify(Math.round(-1.797693134862315807e308), -1.797693134862315807e308, null);
//----------------------------------------------------------------------------
apInitScenario("10. < min neg float (-1.#INF)");
m_scen = "< min neg float (-1.#INF)";
verify(Math.round(-1.797693134862315807e309),-1.797693134862315807e309, null);
//----------------------------------------------------------------------------
apInitScenario("11. zero");
m_scen = "zero";
verify(Math.round(0.0),0, null);
apEndTest();
}
round001();
if(lFailCount >= 0) System.Environment.ExitCode = lFailCount;
else System.Environment.ExitCode = 1;
function apInitTest(stTestName) {
lFailCount = 0;
apGlobalObj = new Object();
apGlobalObj.apGetPlatform = function Funca() { return "Rotor" }
apGlobalObj.LangHost = function Funcb() { return 1033;}
apGlobalObj.apGetLangExt = function Funcc(num) { return "EN"; }
apPlatform = apGlobalObj.apGetPlatform();
var sVer = "1.0"; //navigator.appVersion.toUpperCase().charAt(navigator.appVersion.toUpperCase().indexOf("MSIE")+5);
apGlobalObj.apGetHost = function Funcp() { return "Rotor " + sVer; }
print ("apInitTest: " + stTestName);
}
function apInitScenario(stScenarioName) {print( "\tapInitScenario: " + stScenarioName);}
function apLogFailInfo(stMessage, stExpected, stActual, stBugNum) {
lFailCount = lFailCount + 1;
print ("***** FAILED:");
print ("\t\t" + stMessage);
print ("\t\tExpected: " + stExpected);
print ("\t\tActual: " + stActual);
}
function apGetLocale(){ return 1033; }
function apWriteDebug(s) { print("dbg ---> " + s) }
function apEndTest() {}