1023dd3b8Sopenharmony_ciif (typeof T === 'undefined') require('../setup'); 2023dd3b8Sopenharmony_ci 3023dd3b8Sopenharmony_ciT('absoluteValue', function () { 4023dd3b8Sopenharmony_ci 5023dd3b8Sopenharmony_ci function t(expected, value){ 6023dd3b8Sopenharmony_ci T.assertEqual(expected, new Decimal(value).abs().valueOf()); 7023dd3b8Sopenharmony_ci } 8023dd3b8Sopenharmony_ci 9023dd3b8Sopenharmony_ci Decimal.config({ 10023dd3b8Sopenharmony_ci precision: 20, 11023dd3b8Sopenharmony_ci rounding: 4, 12023dd3b8Sopenharmony_ci toExpNeg: -7, 13023dd3b8Sopenharmony_ci toExpPos: 21, 14023dd3b8Sopenharmony_ci minE: -9e15, 15023dd3b8Sopenharmony_ci maxE: 9e15 16023dd3b8Sopenharmony_ci }); 17023dd3b8Sopenharmony_ci 18023dd3b8Sopenharmony_ci t('0', 0); 19023dd3b8Sopenharmony_ci t('0', '0'); 20023dd3b8Sopenharmony_ci t('0', -0); 21023dd3b8Sopenharmony_ci t('0', '-0'); 22023dd3b8Sopenharmony_ci t('1', 1); 23023dd3b8Sopenharmony_ci t('1', -1); 24023dd3b8Sopenharmony_ci t('1', '-1'); 25023dd3b8Sopenharmony_ci t('0.5', '0.5'); 26023dd3b8Sopenharmony_ci t('0.5', '-0.5'); 27023dd3b8Sopenharmony_ci t('0.1', 0.1); 28023dd3b8Sopenharmony_ci t('0.1', -0.1); 29023dd3b8Sopenharmony_ci t('1.1', 1.1); 30023dd3b8Sopenharmony_ci t('1.1', -1.1); 31023dd3b8Sopenharmony_ci t('1.5', '1.5'); 32023dd3b8Sopenharmony_ci t('1.5', '-1.5'); 33023dd3b8Sopenharmony_ci 34023dd3b8Sopenharmony_ci t('0.00001', '-1e-5'); 35023dd3b8Sopenharmony_ci t('9000000000', '-9e9'); 36023dd3b8Sopenharmony_ci t('123456.7891011', '123456.7891011'); 37023dd3b8Sopenharmony_ci t('123456.7891011', -123456.7891011); 38023dd3b8Sopenharmony_ci t('99', '99'); 39023dd3b8Sopenharmony_ci t('99', -99); 40023dd3b8Sopenharmony_ci t('999.999', 999.999); 41023dd3b8Sopenharmony_ci t('999.999', '-999.999'); 42023dd3b8Sopenharmony_ci t('1', new Decimal(-1)); 43023dd3b8Sopenharmony_ci t('1', new Decimal('-1')); 44023dd3b8Sopenharmony_ci t('0.001', new Decimal(0.001)); 45023dd3b8Sopenharmony_ci t('0.001', new Decimal('-0.001')); 46023dd3b8Sopenharmony_ci 47023dd3b8Sopenharmony_ci t('Infinity', Infinity); 48023dd3b8Sopenharmony_ci t('Infinity', -Infinity); 49023dd3b8Sopenharmony_ci t('Infinity', 'Infinity'); 50023dd3b8Sopenharmony_ci t('Infinity', '-Infinity'); 51023dd3b8Sopenharmony_ci t('NaN', NaN); 52023dd3b8Sopenharmony_ci t('NaN', -NaN); 53023dd3b8Sopenharmony_ci t('NaN', 'NaN'); 54023dd3b8Sopenharmony_ci t('NaN', '-NaN'); 55023dd3b8Sopenharmony_ci 56023dd3b8Sopenharmony_ci t('11.121', '11.121'); 57023dd3b8Sopenharmony_ci t('0.023842', '-0.023842'); 58023dd3b8Sopenharmony_ci t('1.19', '-1.19'); 59023dd3b8Sopenharmony_ci t('9.622e-11', '-0.00000000009622'); 60023dd3b8Sopenharmony_ci t('5.09e-10', '-0.000000000509'); 61023dd3b8Sopenharmony_ci t('3838.2', '3838.2'); 62023dd3b8Sopenharmony_ci t('127', '127.0'); 63023dd3b8Sopenharmony_ci t('4.23073', '4.23073'); 64023dd3b8Sopenharmony_ci t('2.5469', '-2.5469'); 65023dd3b8Sopenharmony_ci t('29949', '-29949'); 66023dd3b8Sopenharmony_ci t('277.1', '-277.10'); 67023dd3b8Sopenharmony_ci t('4.97898e-15', '-0.00000000000000497898'); 68023dd3b8Sopenharmony_ci t('53.456', '53.456'); 69023dd3b8Sopenharmony_ci t('100564', '-100564'); 70023dd3b8Sopenharmony_ci t('12431.9', '-12431.9'); 71023dd3b8Sopenharmony_ci t('97633.7', '-97633.7'); 72023dd3b8Sopenharmony_ci t('220', '220'); 73023dd3b8Sopenharmony_ci t('18.72', '18.720'); 74023dd3b8Sopenharmony_ci t('2817', '-2817'); 75023dd3b8Sopenharmony_ci t('44535', '-44535'); 76023dd3b8Sopenharmony_ci 77023dd3b8Sopenharmony_ci Decimal.toExpNeg = Decimal.toExpPos = 0; 78023dd3b8Sopenharmony_ci 79023dd3b8Sopenharmony_ci t('5.2452468128e+1', '-5.2452468128e+1'); 80023dd3b8Sopenharmony_ci t('1.41525905257189365008396e+16', '1.41525905257189365008396e+16'); 81023dd3b8Sopenharmony_ci t('2.743068083928e+11', '2.743068083928e+11'); 82023dd3b8Sopenharmony_ci t('1.52993064722314247378724599e+26', '-1.52993064722314247378724599e+26'); 83023dd3b8Sopenharmony_ci t('3.7205576746e+10', '3.7205576746e+10'); 84023dd3b8Sopenharmony_ci t('2.663e-10', '-2.663e-10'); 85023dd3b8Sopenharmony_ci t('1.26574209965030360615518e+17', '-1.26574209965030360615518e+17'); 86023dd3b8Sopenharmony_ci t('1.052e+3', '1.052e+3'); 87023dd3b8Sopenharmony_ci t('4.452945872502e+6', '-4.452945872502e+6'); 88023dd3b8Sopenharmony_ci t('2.95732460816619226e+13', '2.95732460816619226e+13'); 89023dd3b8Sopenharmony_ci t('1.1923100194288654481424e+18', '-1.1923100194288654481424e+18'); 90023dd3b8Sopenharmony_ci t('8.99315449050893705e+6', '8.99315449050893705e+6'); 91023dd3b8Sopenharmony_ci t('5.200726538434486963e+8', '5.200726538434486963e+8'); 92023dd3b8Sopenharmony_ci t('1.182618278949368566264898065e+18', '1.182618278949368566264898065e+18'); 93023dd3b8Sopenharmony_ci t('3.815873266712e-20', '-3.815873266712e-20'); 94023dd3b8Sopenharmony_ci t('1.316675370382742615e+6', '-1.316675370382742615e+6'); 95023dd3b8Sopenharmony_ci t('2.1032502e+6', '-2.1032502e+6'); 96023dd3b8Sopenharmony_ci t('1.8e+1', '1.8e+1'); 97023dd3b8Sopenharmony_ci t('1.033525906631680944018544811261e-13', '1.033525906631680944018544811261e-13'); 98023dd3b8Sopenharmony_ci t('1.102361746443461856816e+14', '-1.102361746443461856816e+14'); 99023dd3b8Sopenharmony_ci t('8.595358491143959e+1', '8.595358491143959e+1'); 100023dd3b8Sopenharmony_ci t('1.226806049797304683867e-18', '1.226806049797304683867e-18'); 101023dd3b8Sopenharmony_ci t('5e+0', '-5e+0'); 102023dd3b8Sopenharmony_ci t('1.091168788407093537887970016e+15', '-1.091168788407093537887970016e+15'); 103023dd3b8Sopenharmony_ci t('3.87166413612272027e+12', '3.87166413612272027e+12'); 104023dd3b8Sopenharmony_ci t('1.411514e+5', '1.411514e+5'); 105023dd3b8Sopenharmony_ci t('1.0053454672509859631996e+22', '1.0053454672509859631996e+22'); 106023dd3b8Sopenharmony_ci t('6.9265714e+0', '6.9265714e+0'); 107023dd3b8Sopenharmony_ci t('1.04627709e+4', '1.04627709e+4'); 108023dd3b8Sopenharmony_ci t('2.285650225267766689304972e+5', '2.285650225267766689304972e+5'); 109023dd3b8Sopenharmony_ci t('4.5790517211306242e+7', '4.5790517211306242e+7'); 110023dd3b8Sopenharmony_ci t('3.0033340092338313923473428e+16', '-3.0033340092338313923473428e+16'); 111023dd3b8Sopenharmony_ci t('2.83879929283797623e+1', '-2.83879929283797623e+1'); 112023dd3b8Sopenharmony_ci t('4.5266377717178121183759377414e-5', '4.5266377717178121183759377414e-5'); 113023dd3b8Sopenharmony_ci t('5.3781e+4', '-5.3781e+4'); 114023dd3b8Sopenharmony_ci t('6.722035208213298413522819127e-18', '-6.722035208213298413522819127e-18'); 115023dd3b8Sopenharmony_ci t('3.02865707828281230987116e+23', '-3.02865707828281230987116e+23'); 116023dd3b8Sopenharmony_ci 117023dd3b8Sopenharmony_ci t('1e-9000000000000000', '1e-9000000000000000'); 118023dd3b8Sopenharmony_ci t('1e-9000000000000000', '-1e-9000000000000000'); 119023dd3b8Sopenharmony_ci t('0e+0', '-9.9e-9000000000000001'); 120023dd3b8Sopenharmony_ci t('9.999999e+9000000000000000', '9.999999e+9000000000000000'); 121023dd3b8Sopenharmony_ci t('9.999999e+9000000000000000', '-9.999999e+9000000000000000'); 122023dd3b8Sopenharmony_ci t('Infinity', '1E9000000000000001'); 123023dd3b8Sopenharmony_ci t('Infinity', '-1e+9000000000000001'); 124023dd3b8Sopenharmony_ci t('5.5879983320336874473209567979e+287894365', '-5.5879983320336874473209567979e+287894365'); 125023dd3b8Sopenharmony_ci}); 126