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