1023dd3b8Sopenharmony_ciif (typeof T === 'undefined') require('../setup'); 2023dd3b8Sopenharmony_ci 3023dd3b8Sopenharmony_ciT('negated', function () { 4023dd3b8Sopenharmony_ci 5023dd3b8Sopenharmony_ci function t(expected, n) { 6023dd3b8Sopenharmony_ci T.assertEqual(expected, new Decimal(n).neg().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('-4', 4); 19023dd3b8Sopenharmony_ci t('-2147483648', 2147483648); 20023dd3b8Sopenharmony_ci t('-0.25', 0.25); 21023dd3b8Sopenharmony_ci t('-0.0625', 0.0625); 22023dd3b8Sopenharmony_ci t('-1', 1); 23023dd3b8Sopenharmony_ci t('1', -1); 24023dd3b8Sopenharmony_ci t('-0', 0); 25023dd3b8Sopenharmony_ci t('0', -0); 26023dd3b8Sopenharmony_ci t('-0', '0'); 27023dd3b8Sopenharmony_ci t('0', '-0'); 28023dd3b8Sopenharmony_ci t('NaN', NaN); 29023dd3b8Sopenharmony_ci t('NaN', 'NaN'); 30023dd3b8Sopenharmony_ci t('-Infinity', Infinity); 31023dd3b8Sopenharmony_ci t('Infinity', -Infinity); 32023dd3b8Sopenharmony_ci t('-Infinity', 'Infinity'); 33023dd3b8Sopenharmony_ci t('Infinity', '-Infinity'); 34023dd3b8Sopenharmony_ci 35023dd3b8Sopenharmony_ci t('-9.99e+9000000000000000', '9.99e+9000000000000000'); 36023dd3b8Sopenharmony_ci t('9.99e+9000000000000000', '-9.99e+9000000000000000'); 37023dd3b8Sopenharmony_ci t('-Infinity', '1e+9000000000000001'); 38023dd3b8Sopenharmony_ci t('Infinity', '-1e+9000000000000001'); 39023dd3b8Sopenharmony_ci t('-1e-9000000000000000', '1e-9000000000000000'); 40023dd3b8Sopenharmony_ci t('1e-9000000000000000', '-1e-9000000000000000'); 41023dd3b8Sopenharmony_ci t('0', '-1e-9000000000000001'); 42023dd3b8Sopenharmony_ci 43023dd3b8Sopenharmony_ci t('-238', '238'); 44023dd3b8Sopenharmony_ci t('1.3e-11', '-0.000000000013'); 45023dd3b8Sopenharmony_ci t('-33.1', '33.1'); 46023dd3b8Sopenharmony_ci t('2.61', '-2.61'); 47023dd3b8Sopenharmony_ci t('-4', '4.0'); 48023dd3b8Sopenharmony_ci t('-5.8', '5.8'); 49023dd3b8Sopenharmony_ci t('-3.52e-7', '0.000000352'); 50023dd3b8Sopenharmony_ci t('190', '-190'); 51023dd3b8Sopenharmony_ci t('4.47', '-4.47'); 52023dd3b8Sopenharmony_ci t('6.9525e-12', '-0.0000000000069525'); 53023dd3b8Sopenharmony_ci t('1.3', '-1.3'); 54023dd3b8Sopenharmony_ci t('-6.21', '6.21'); 55023dd3b8Sopenharmony_ci t('2', '-2'); 56023dd3b8Sopenharmony_ci t('-1', '1'); 57023dd3b8Sopenharmony_ci t('147.857', '-147.857'); 58023dd3b8Sopenharmony_ci t('-26.517', '26.517'); 59023dd3b8Sopenharmony_ci t('-3', '3'); 60023dd3b8Sopenharmony_ci t('5', '-5'); 61023dd3b8Sopenharmony_ci t('204', '-204'); 62023dd3b8Sopenharmony_ci t('2.1e-8', '-0.000000021'); 63023dd3b8Sopenharmony_ci t('3.7015e-7', '-0.00000037015'); 64023dd3b8Sopenharmony_ci t('-50.1839', '50.1839'); 65023dd3b8Sopenharmony_ci t('44768.1', '-44768.1'); 66023dd3b8Sopenharmony_ci t('3.8e-15', '-0.0000000000000038'); 67023dd3b8Sopenharmony_ci t('-7.4379', '7.4379'); 68023dd3b8Sopenharmony_ci t('1.5', '-1.5'); 69023dd3b8Sopenharmony_ci t('6.0399', '-6.0399'); 70023dd3b8Sopenharmony_ci t('109.07', '-109.070'); 71023dd3b8Sopenharmony_ci t('1582', '-1582'); 72023dd3b8Sopenharmony_ci t('-772', '772'); 73023dd3b8Sopenharmony_ci t('-6.7824e-14', '0.000000000000067824'); 74023dd3b8Sopenharmony_ci t('-1.819e-8', '0.00000001819'); 75023dd3b8Sopenharmony_ci t('-3e-15', '0.0000000000000030'); 76023dd3b8Sopenharmony_ci t('-424120', '424120'); 77023dd3b8Sopenharmony_ci t('-1814.54', '1814.54'); 78023dd3b8Sopenharmony_ci t('-4.295e-17', '0.00000000000000004295'); 79023dd3b8Sopenharmony_ci t('-5', '5'); 80023dd3b8Sopenharmony_ci t('2152', '-2152'); 81023dd3b8Sopenharmony_ci t('4.6', '-4.6'); 82023dd3b8Sopenharmony_ci t('1.9', '-1.9'); 83023dd3b8Sopenharmony_ci t('-2', '2.0'); 84023dd3b8Sopenharmony_ci t('-0.00036', '0.00036'); 85023dd3b8Sopenharmony_ci t('-0.000006962', '0.000006962'); 86023dd3b8Sopenharmony_ci t('3.6', '-3.6'); 87023dd3b8Sopenharmony_ci t('-1.1495e-14', '0.000000000000011495'); 88023dd3b8Sopenharmony_ci t('-312.4', '312.4'); 89023dd3b8Sopenharmony_ci t('4.3e-10', '-0.00000000043'); 90023dd3b8Sopenharmony_ci t('5', '-5'); 91023dd3b8Sopenharmony_ci t('-1.8911e-8', '0.000000018911'); 92023dd3b8Sopenharmony_ci t('4963.53', '-4963.53'); 93023dd3b8Sopenharmony_ci t('-4.3934e-10', '0.00000000043934'); 94023dd3b8Sopenharmony_ci t('-1.3', '1.30'); 95023dd3b8Sopenharmony_ci t('-1', '1.0'); 96023dd3b8Sopenharmony_ci t('-68.32', '68.32'); 97023dd3b8Sopenharmony_ci t('0.014836', '-0.014836'); 98023dd3b8Sopenharmony_ci t('8', '-8'); 99023dd3b8Sopenharmony_ci t('2.1351', '-2.13510'); 100023dd3b8Sopenharmony_ci t('162224', '-162224'); 101023dd3b8Sopenharmony_ci t('3e-19', '-0.00000000000000000030'); 102023dd3b8Sopenharmony_ci t('0.00004985', '-0.00004985'); 103023dd3b8Sopenharmony_ci t('28.9321', '-28.9321'); 104023dd3b8Sopenharmony_ci t('-2', '2'); 105023dd3b8Sopenharmony_ci t('-16688', '16688'); 106023dd3b8Sopenharmony_ci t('-1', '1'); 107023dd3b8Sopenharmony_ci t('5', '-5'); 108023dd3b8Sopenharmony_ci t('-20', '20.0'); 109023dd3b8Sopenharmony_ci t('-1.9', '1.9'); 110023dd3b8Sopenharmony_ci t('3', '-3'); 111023dd3b8Sopenharmony_ci t('185640', '-185640'); 112023dd3b8Sopenharmony_ci t('-0.0000058', '0.0000058'); 113023dd3b8Sopenharmony_ci t('9.67e-13', '-0.000000000000967'); 114023dd3b8Sopenharmony_ci t('-707.98', '707.98'); 115023dd3b8Sopenharmony_ci t('2.57917', '-2.57917'); 116023dd3b8Sopenharmony_ci t('-1.3', '1.3'); 117023dd3b8Sopenharmony_ci t('-4.2655', '4.2655'); 118023dd3b8Sopenharmony_ci t('-149.6', '149.6'); 119023dd3b8Sopenharmony_ci t('-1.32383', '1.32383'); 120023dd3b8Sopenharmony_ci t('-26.925', '26.925'); 121023dd3b8Sopenharmony_ci t('-0.00013', '0.00013'); 122023dd3b8Sopenharmony_ci t('-6868', '6868'); 123023dd3b8Sopenharmony_ci t('7', '-7'); 124023dd3b8Sopenharmony_ci t('-5e-9', '0.0000000050'); 125023dd3b8Sopenharmony_ci t('3.2555e-16', '-0.00000000000000032555'); 126023dd3b8Sopenharmony_ci t('1.42768e-13', '-0.000000000000142768'); 127023dd3b8Sopenharmony_ci t('11.2962', '-11.2962'); 128023dd3b8Sopenharmony_ci t('3186.7', '-3186.7'); 129023dd3b8Sopenharmony_ci t('-6.9', '6.9'); 130023dd3b8Sopenharmony_ci t('-6.2618e-7', '0.00000062618'); 131023dd3b8Sopenharmony_ci t('8', '-8'); 132023dd3b8Sopenharmony_ci t('-8.04', '8.04'); 133023dd3b8Sopenharmony_ci t('-22', '22'); 134023dd3b8Sopenharmony_ci t('-750.6', '750.6'); 135023dd3b8Sopenharmony_ci t('12.803', '-12.803'); 136023dd3b8Sopenharmony_ci t('-20513.4', '20513.4'); 137023dd3b8Sopenharmony_ci t('114781', '-114781'); 138023dd3b8Sopenharmony_ci t('-16.9046', '16.9046'); 139023dd3b8Sopenharmony_ci t('4.6e-7', '-0.00000046'); 140023dd3b8Sopenharmony_ci t('-31399', '31399'); 141023dd3b8Sopenharmony_ci t('1.04', '-1.04'); 142023dd3b8Sopenharmony_ci t('-51.2544', '51.2544'); 143023dd3b8Sopenharmony_ci t('1.023e-15', '-0.000000000000001023'); 144023dd3b8Sopenharmony_ci t('281', '-281'); 145023dd3b8Sopenharmony_ci t('-128315', '128315'); 146023dd3b8Sopenharmony_ci t('20.2', '-20.2'); 147023dd3b8Sopenharmony_ci t('9', '-9'); 148023dd3b8Sopenharmony_ci t('-10', '10'); 149023dd3b8Sopenharmony_ci t('-1.92262e-17', '0.0000000000000000192262'); 150023dd3b8Sopenharmony_ci t('-0.0023', '0.0023'); 151023dd3b8Sopenharmony_ci t('5', '-5'); 152023dd3b8Sopenharmony_ci t('7', '-7'); 153023dd3b8Sopenharmony_ci t('13.72', '-13.72'); 154023dd3b8Sopenharmony_ci t('98068', '-98068'); 155023dd3b8Sopenharmony_ci t('3.2', '-3.2'); 156023dd3b8Sopenharmony_ci t('1.1', '-1.1'); 157023dd3b8Sopenharmony_ci t('-3.97e-18', '0.000000000000000003970'); 158023dd3b8Sopenharmony_ci t('0.00334824', '-0.00334824'); 159023dd3b8Sopenharmony_ci t('-5.4892e-8', '0.000000054892'); 160023dd3b8Sopenharmony_ci t('-1', '1.0'); 161023dd3b8Sopenharmony_ci t('-2.8135e-8', '0.000000028135'); 162023dd3b8Sopenharmony_ci t('-1.816e-13', '0.0000000000001816'); 163023dd3b8Sopenharmony_ci t('199724', '-199724'); 164023dd3b8Sopenharmony_ci t('-19.4', '19.40'); 165023dd3b8Sopenharmony_ci t('-12.74', '12.74'); 166023dd3b8Sopenharmony_ci t('-2171.8', '2171.8'); 167023dd3b8Sopenharmony_ci t('-2.7', '2.7'); 168023dd3b8Sopenharmony_ci t('1', '-1.0'); 169023dd3b8Sopenharmony_ci t('21779', '-21779'); 170023dd3b8Sopenharmony_ci t('8.9e-12', '-0.0000000000089'); 171023dd3b8Sopenharmony_ci t('-4.51', '4.51'); 172023dd3b8Sopenharmony_ci t('2.6', '-2.6'); 173023dd3b8Sopenharmony_ci t('-0.00016', '0.000160'); 174023dd3b8Sopenharmony_ci t('6', '-6'); 175023dd3b8Sopenharmony_ci t('50.566', '-50.566'); 176023dd3b8Sopenharmony_ci t('-16.2', '16.2'); 177023dd3b8Sopenharmony_ci t('-9444', '9444'); 178023dd3b8Sopenharmony_ci t('21.4', '-21.4'); 179023dd3b8Sopenharmony_ci t('2.5', '-2.5'); 180023dd3b8Sopenharmony_ci t('489311', '-489311'); 181023dd3b8Sopenharmony_ci t('6.8', '-6.8'); 182023dd3b8Sopenharmony_ci t('4.29', '-4.29'); 183023dd3b8Sopenharmony_ci t('23982', '-23982.0'); 184023dd3b8Sopenharmony_ci t('-0.0111781', '0.0111781'); 185023dd3b8Sopenharmony_ci t('4.96e-20', '-0.0000000000000000000496'); 186023dd3b8Sopenharmony_ci t('-40.5481', '40.5481'); 187023dd3b8Sopenharmony_ci t('-32.52', '32.52'); 188023dd3b8Sopenharmony_ci t('-7.4', '7.4'); 189023dd3b8Sopenharmony_ci t('-5', '5.0'); 190023dd3b8Sopenharmony_ci t('-2463.4', '2463.4'); 191023dd3b8Sopenharmony_ci t('7.363', '-7.363'); 192023dd3b8Sopenharmony_ci t('2.8', '-2.8'); 193023dd3b8Sopenharmony_ci t('-14498', '14498'); 194023dd3b8Sopenharmony_ci t('201', '-201'); 195023dd3b8Sopenharmony_ci 196023dd3b8Sopenharmony_ci Decimal.toExpNeg = Decimal.toExpPos = 0; 197023dd3b8Sopenharmony_ci 198023dd3b8Sopenharmony_ci t('-5.0600621890668482322956892808849303e+20', '5.0600621890668482322956892808849303e+20'); 199023dd3b8Sopenharmony_ci t('7e+0', '-7e+0'); 200023dd3b8Sopenharmony_ci t('-6.1095374220609e+13', '6.1095374220609e+13'); 201023dd3b8Sopenharmony_ci t('9.01e+2', '-9.01e+2'); 202023dd3b8Sopenharmony_ci t('-1.016984074247269470395836690098169093010136836967e+39', '1.016984074247269470395836690098169093010136836967e+39'); 203023dd3b8Sopenharmony_ci t('-1.497639134680472576e+18', '1.497639134680472576e+18'); 204023dd3b8Sopenharmony_ci t('-4.1717657571404248e+16', '4.1717657571404248e+16'); 205023dd3b8Sopenharmony_ci t('8.983272e+1', '-8.983272e+1'); 206023dd3b8Sopenharmony_ci t('-5.308416e+6', '5.308416e+6'); 207023dd3b8Sopenharmony_ci t('-2.09764e+3', '2.09764e+3'); 208023dd3b8Sopenharmony_ci t('-3.83432050166120236679168e+23', '3.83432050166120236679168e+23'); 209023dd3b8Sopenharmony_ci t('-4.096e+3', '4.096e+3'); 210023dd3b8Sopenharmony_ci t('2.679971527468745095582058350756311201706813294321409e+51', '-2.679971527468745095582058350756311201706813294321409e+51'); 211023dd3b8Sopenharmony_ci t('-5.067853299870089529116832768e+2', '5.067853299870089529116832768e+2'); 212023dd3b8Sopenharmony_ci t('-3.48822062687911109850066182676769e+32', '3.48822062687911109850066182676769e+32'); 213023dd3b8Sopenharmony_ci t('-1e+0', '1e+0'); 214023dd3b8Sopenharmony_ci t('4.2773e+0', '-4.2773e+0'); 215023dd3b8Sopenharmony_ci t('5.8169306081172252508071119604378757744768e+12', '-5.8169306081172252508071119604378757744768e+12'); 216023dd3b8Sopenharmony_ci t('-1e+0', '1e+0'); 217023dd3b8Sopenharmony_ci t('1.51655708279450944384385164853883404204414169862685507e+46', '-1.51655708279450944384385164853883404204414169862685507e+46'); 218023dd3b8Sopenharmony_ci t('-8.1e+1', '8.1e+1'); 219023dd3b8Sopenharmony_ci t('-1.296e+3', '1.296e+3'); 220023dd3b8Sopenharmony_ci t('-2.9e+0', '2.9e+0'); 221023dd3b8Sopenharmony_ci t('-1.764e+3', '1.764e+3'); 222023dd3b8Sopenharmony_ci t('9.3418332730097368870513138581415704704611459349313e+49', '-9.3418332730097368870513138581415704704611459349313e+49'); 223023dd3b8Sopenharmony_ci}); 224