@@ -128,30 +128,375 @@ fn test_format_int_exp_precision() {
128128 let big_int: u32 = 314_159_265 ;
129129 assert_eq ! ( format!( "{big_int:.1e}" ) , format!( "{:.1e}" , f64 :: from( big_int) ) ) ;
130130
131- //test adding precision
131+ // test adding precision
132132 assert_eq ! ( format!( "{:.10e}" , i8 :: MIN ) , "-1.2800000000e2" ) ;
133133 assert_eq ! ( format!( "{:.10e}" , i16 :: MIN ) , "-3.2768000000e4" ) ;
134134 assert_eq ! ( format!( "{:.10e}" , i32 :: MIN ) , "-2.1474836480e9" ) ;
135135 assert_eq ! ( format!( "{:.20e}" , i64 :: MIN ) , "-9.22337203685477580800e18" ) ;
136136 assert_eq ! ( format!( "{:.40e}" , i128 :: MIN ) , "-1.7014118346046923173168730371588410572800e38" ) ;
137137
138- //test rounding
138+ // test rounding
139139 assert_eq ! ( format!( "{:.1e}" , i8 :: MIN ) , "-1.3e2" ) ;
140140 assert_eq ! ( format!( "{:.1e}" , i16 :: MIN ) , "-3.3e4" ) ;
141141 assert_eq ! ( format!( "{:.1e}" , i32 :: MIN ) , "-2.1e9" ) ;
142142 assert_eq ! ( format!( "{:.1e}" , i64 :: MIN ) , "-9.2e18" ) ;
143143 assert_eq ! ( format!( "{:.1e}" , i128 :: MIN ) , "-1.7e38" ) ;
144144
145- //test huge precision
145+ // test huge precision
146146 assert_eq ! ( format!( "{:.1000e}" , 1 ) , format!( "1.{}e0" , "0" . repeat( 1000 ) ) ) ;
147147 //test zero precision
148148 assert_eq ! ( format!( "{:.0e}" , 1 ) , format!( "1e0" , ) ) ;
149149 assert_eq ! ( format!( "{:.0e}" , 35 ) , format!( "4e1" , ) ) ;
150150
151- //test padding with precision (and sign)
151+ // test padding with precision (and sign)
152152 assert_eq ! ( format!( "{:+10.3e}" , 1 ) , " +1.000e0" ) ;
153153}
154154
155+ #[ test]
156+ fn new_test ( ) {
157+ // test precision remains correct when rounding to next power
158+ assert_eq ! ( format!( "{:.1e}" , 999 ) , "1.0e3" ) ;
159+ assert_eq ! ( format!( "{:.1e}" , 1001 ) , "1.0e3" ) ;
160+ assert_eq ! ( format!( "{:.1e}" , 1000 ) , "1.0e3" ) ;
161+ assert_eq ! ( format!( "{:.0e}" , -999 ) , "-1e3" ) ;
162+ assert_eq ! ( format!( "{:.0e}" , -998 ) , "-1e3" ) ;
163+ assert_eq ! ( format!( "{:.0e}" , -997 ) , "-1e3" ) ;
164+ assert_eq ! ( format!( "{:.0e}" , -996 ) , "-1e3" ) ;
165+ assert_eq ! ( format!( "{:.0e}" , -995 ) , "-1e3" ) ;
166+ assert_eq ! ( format!( "{:.0e}" , -994 ) , "-1e3" ) ;
167+ assert_eq ! ( format!( "{:.0e}" , -993 ) , "-1e3" ) ;
168+ assert_eq ! ( format!( "{:.0e}" , -992 ) , "-1e3" ) ;
169+ assert_eq ! ( format!( "{:.0e}" , -991 ) , "-1e3" ) ;
170+ assert_eq ! ( format!( "{:.0e}" , -990 ) , "-1e3" ) ;
171+ assert_eq ! ( format!( "{:.0e}" , -989 ) , "-1e3" ) ;
172+ assert_eq ! ( format!( "{:.0e}" , -988 ) , "-1e3" ) ;
173+ assert_eq ! ( format!( "{:.0e}" , -987 ) , "-1e3" ) ;
174+ assert_eq ! ( format!( "{:.0e}" , -986 ) , "-1e3" ) ;
175+ assert_eq ! ( format!( "{:.0e}" , -985 ) , "-1e3" ) ;
176+ assert_eq ! ( format!( "{:.0e}" , -984 ) , "-1e3" ) ;
177+ assert_eq ! ( format!( "{:.0e}" , -983 ) , "-1e3" ) ;
178+ assert_eq ! ( format!( "{:.0e}" , -982 ) , "-1e3" ) ;
179+ assert_eq ! ( format!( "{:.0e}" , -981 ) , "-1e3" ) ;
180+ assert_eq ! ( format!( "{:.0e}" , -980 ) , "-1e3" ) ;
181+ assert_eq ! ( format!( "{:.0e}" , -979 ) , "-1e3" ) ;
182+ assert_eq ! ( format!( "{:.0e}" , -978 ) , "-1e3" ) ;
183+ assert_eq ! ( format!( "{:.0e}" , -977 ) , "-1e3" ) ;
184+ assert_eq ! ( format!( "{:.0e}" , -976 ) , "-1e3" ) ;
185+ assert_eq ! ( format!( "{:.0e}" , -975 ) , "-1e3" ) ;
186+ assert_eq ! ( format!( "{:.0e}" , -974 ) , "-1e3" ) ;
187+ assert_eq ! ( format!( "{:.0e}" , -973 ) , "-1e3" ) ;
188+ assert_eq ! ( format!( "{:.0e}" , -972 ) , "-1e3" ) ;
189+ assert_eq ! ( format!( "{:.0e}" , -971 ) , "-1e3" ) ;
190+ assert_eq ! ( format!( "{:.0e}" , -970 ) , "-1e3" ) ;
191+ assert_eq ! ( format!( "{:.0e}" , -969 ) , "-1e3" ) ;
192+ assert_eq ! ( format!( "{:.0e}" , -968 ) , "-1e3" ) ;
193+ assert_eq ! ( format!( "{:.0e}" , -967 ) , "-1e3" ) ;
194+ assert_eq ! ( format!( "{:.0e}" , -966 ) , "-1e3" ) ;
195+ assert_eq ! ( format!( "{:.0e}" , -965 ) , "-1e3" ) ;
196+ assert_eq ! ( format!( "{:.0e}" , -964 ) , "-1e3" ) ;
197+ assert_eq ! ( format!( "{:.0e}" , -963 ) , "-1e3" ) ;
198+ assert_eq ! ( format!( "{:.0e}" , -962 ) , "-1e3" ) ;
199+ assert_eq ! ( format!( "{:.0e}" , -961 ) , "-1e3" ) ;
200+ assert_eq ! ( format!( "{:.0e}" , -960 ) , "-1e3" ) ;
201+ assert_eq ! ( format!( "{:.0e}" , -959 ) , "-1e3" ) ;
202+ assert_eq ! ( format!( "{:.0e}" , -958 ) , "-1e3" ) ;
203+ assert_eq ! ( format!( "{:.0e}" , -957 ) , "-1e3" ) ;
204+ assert_eq ! ( format!( "{:.0e}" , -956 ) , "-1e3" ) ;
205+ assert_eq ! ( format!( "{:.0e}" , -955 ) , "-1e3" ) ;
206+ assert_eq ! ( format!( "{:.0e}" , -954 ) , "-1e3" ) ;
207+ assert_eq ! ( format!( "{:.0e}" , -953 ) , "-1e3" ) ;
208+ assert_eq ! ( format!( "{:.0e}" , -952 ) , "-1e3" ) ;
209+ assert_eq ! ( format!( "{:.0e}" , -951 ) , "-1e3" ) ;
210+ assert_eq ! ( format!( "{:.0e}" , -950 ) , "-1e3" ) ;
211+ assert_eq ! ( format!( "{:.0e}" , -850 ) , "-9e2" ) ;
212+ assert_eq ! ( format!( "{:.0e}" , -650 ) , "-7e2" ) ;
213+ assert_eq ! ( format!( "{:.0e}" , -450 ) , "-5e2" ) ;
214+ assert_eq ! ( format!( "{:.0e}" , -250 ) , "-3e2" ) ;
215+ assert_eq ! ( format!( "{:.0e}" , -99 ) , "-1e2" ) ;
216+ assert_eq ! ( format!( "{:.0e}" , -98 ) , "-1e2" ) ;
217+ assert_eq ! ( format!( "{:.0e}" , -97 ) , "-1e2" ) ;
218+ assert_eq ! ( format!( "{:.0e}" , -96 ) , "-1e2" ) ;
219+ assert_eq ! ( format!( "{:.0e}" , -95 ) , "-1e2" ) ;
220+ assert_eq ! ( format!( "{:.0e}" , -85 ) , "-9e1" ) ;
221+ assert_eq ! ( format!( "{:.0e}" , -65 ) , "-7e1" ) ;
222+ assert_eq ! ( format!( "{:.0e}" , -45 ) , "-5e1" ) ;
223+ assert_eq ! ( format!( "{:.0e}" , -25 ) , "-3e1" ) ;
224+ assert_eq ! ( format!( "{:.0e}" , 25 ) , "3e1" ) ;
225+ assert_eq ! ( format!( "{:.0e}" , 45 ) , "5e1" ) ;
226+ assert_eq ! ( format!( "{:.0e}" , 65 ) , "7e1" ) ;
227+ assert_eq ! ( format!( "{:.0e}" , 85 ) , "9e1" ) ;
228+ assert_eq ! ( format!( "{:.0e}" , 94 ) , "9e1" ) ;
229+ assert_eq ! ( format!( "{:.0e}" , 95 ) , "1e2" ) ;
230+ assert_eq ! ( format!( "{:.0e}" , 96 ) , "1e2" ) ;
231+ assert_eq ! ( format!( "{:.0e}" , 97 ) , "1e2" ) ;
232+ assert_eq ! ( format!( "{:.0e}" , 98 ) , "1e2" ) ;
233+ assert_eq ! ( format!( "{:.0e}" , 99 ) , "1e2" ) ;
234+ assert_eq ! ( format!( "{:.0e}" , 250 ) , "3e2" ) ;
235+ assert_eq ! ( format!( "{:.0e}" , 450 ) , "5e2" ) ;
236+ assert_eq ! ( format!( "{:.0e}" , 650 ) , "7e2" ) ;
237+ assert_eq ! ( format!( "{:.0e}" , 850 ) , "9e2" ) ;
238+ assert_eq ! ( format!( "{:.0e}" , 950 ) , "1e3" ) ;
239+ assert_eq ! ( format!( "{:.0e}" , 951 ) , "1e3" ) ;
240+ assert_eq ! ( format!( "{:.0e}" , 952 ) , "1e3" ) ;
241+ assert_eq ! ( format!( "{:.0e}" , 953 ) , "1e3" ) ;
242+ assert_eq ! ( format!( "{:.0e}" , 954 ) , "1e3" ) ;
243+ assert_eq ! ( format!( "{:.0e}" , 955 ) , "1e3" ) ;
244+ assert_eq ! ( format!( "{:.0e}" , 956 ) , "1e3" ) ;
245+ assert_eq ! ( format!( "{:.0e}" , 957 ) , "1e3" ) ;
246+ assert_eq ! ( format!( "{:.0e}" , 958 ) , "1e3" ) ;
247+ assert_eq ! ( format!( "{:.0e}" , 959 ) , "1e3" ) ;
248+ assert_eq ! ( format!( "{:.0e}" , 960 ) , "1e3" ) ;
249+ assert_eq ! ( format!( "{:.0e}" , 961 ) , "1e3" ) ;
250+ assert_eq ! ( format!( "{:.0e}" , 962 ) , "1e3" ) ;
251+ assert_eq ! ( format!( "{:.0e}" , 963 ) , "1e3" ) ;
252+ assert_eq ! ( format!( "{:.0e}" , 964 ) , "1e3" ) ;
253+ assert_eq ! ( format!( "{:.0e}" , 965 ) , "1e3" ) ;
254+ assert_eq ! ( format!( "{:.0e}" , 966 ) , "1e3" ) ;
255+ assert_eq ! ( format!( "{:.0e}" , 967 ) , "1e3" ) ;
256+ assert_eq ! ( format!( "{:.0e}" , 968 ) , "1e3" ) ;
257+ assert_eq ! ( format!( "{:.0e}" , 969 ) , "1e3" ) ;
258+ assert_eq ! ( format!( "{:.0e}" , 970 ) , "1e3" ) ;
259+ assert_eq ! ( format!( "{:.0e}" , 971 ) , "1e3" ) ;
260+ assert_eq ! ( format!( "{:.0e}" , 972 ) , "1e3" ) ;
261+ assert_eq ! ( format!( "{:.0e}" , 973 ) , "1e3" ) ;
262+ assert_eq ! ( format!( "{:.0e}" , 974 ) , "1e3" ) ;
263+ assert_eq ! ( format!( "{:.0e}" , 975 ) , "1e3" ) ;
264+ assert_eq ! ( format!( "{:.0e}" , 976 ) , "1e3" ) ;
265+ assert_eq ! ( format!( "{:.0e}" , 977 ) , "1e3" ) ;
266+ assert_eq ! ( format!( "{:.0e}" , 978 ) , "1e3" ) ;
267+ assert_eq ! ( format!( "{:.0e}" , 979 ) , "1e3" ) ;
268+ assert_eq ! ( format!( "{:.0e}" , 980 ) , "1e3" ) ;
269+ assert_eq ! ( format!( "{:.0e}" , 981 ) , "1e3" ) ;
270+ assert_eq ! ( format!( "{:.0e}" , 982 ) , "1e3" ) ;
271+ assert_eq ! ( format!( "{:.0e}" , 983 ) , "1e3" ) ;
272+ assert_eq ! ( format!( "{:.0e}" , 984 ) , "1e3" ) ;
273+ assert_eq ! ( format!( "{:.0e}" , 985 ) , "1e3" ) ;
274+ assert_eq ! ( format!( "{:.0e}" , 986 ) , "1e3" ) ;
275+ assert_eq ! ( format!( "{:.0e}" , 987 ) , "1e3" ) ;
276+ assert_eq ! ( format!( "{:.0e}" , 988 ) , "1e3" ) ;
277+ assert_eq ! ( format!( "{:.0e}" , 989 ) , "1e3" ) ;
278+ assert_eq ! ( format!( "{:.0e}" , 990 ) , "1e3" ) ;
279+ assert_eq ! ( format!( "{:.0e}" , 991 ) , "1e3" ) ;
280+ assert_eq ! ( format!( "{:.0e}" , 992 ) , "1e3" ) ;
281+ assert_eq ! ( format!( "{:.0e}" , 993 ) , "1e3" ) ;
282+ assert_eq ! ( format!( "{:.0e}" , 994 ) , "1e3" ) ;
283+ assert_eq ! ( format!( "{:.0e}" , 995 ) , "1e3" ) ;
284+ assert_eq ! ( format!( "{:.0e}" , 996 ) , "1e3" ) ;
285+ assert_eq ! ( format!( "{:.0e}" , 997 ) , "1e3" ) ;
286+ assert_eq ! ( format!( "{:.0e}" , 998 ) , "1e3" ) ;
287+ assert_eq ! ( format!( "{:.0e}" , 999 ) , "1e3" ) ;
288+ assert_eq ! ( format!( "{:.1e}" , -1850 ) , "-1.9e3" ) ;
289+ assert_eq ! ( format!( "{:.1e}" , -1650 ) , "-1.7e3" ) ;
290+ assert_eq ! ( format!( "{:.1e}" , -1450 ) , "-1.5e3" ) ;
291+ assert_eq ! ( format!( "{:.1e}" , -1250 ) , "-1.3e3" ) ;
292+ assert_eq ! ( format!( "{:.1e}" , -1050 ) , "-1.1e3" ) ;
293+ assert_eq ! ( format!( "{:.1e}" , -999 ) , "-1.0e3" ) ;
294+ assert_eq ! ( format!( "{:.1e}" , -998 ) , "-1.0e3" ) ;
295+ assert_eq ! ( format!( "{:.1e}" , -997 ) , "-1.0e3" ) ;
296+ assert_eq ! ( format!( "{:.1e}" , -996 ) , "-1.0e3" ) ;
297+ assert_eq ! ( format!( "{:.1e}" , -995 ) , "-1.0e3" ) ;
298+ assert_eq ! ( format!( "{:.1e}" , -985 ) , "-9.9e2" ) ;
299+ assert_eq ! ( format!( "{:.1e}" , -965 ) , "-9.7e2" ) ;
300+ assert_eq ! ( format!( "{:.1e}" , -945 ) , "-9.5e2" ) ;
301+ assert_eq ! ( format!( "{:.1e}" , -925 ) , "-9.3e2" ) ;
302+ assert_eq ! ( format!( "{:.1e}" , -905 ) , "-9.1e2" ) ;
303+ assert_eq ! ( format!( "{:.1e}" , -885 ) , "-8.9e2" ) ;
304+ assert_eq ! ( format!( "{:.1e}" , -865 ) , "-8.7e2" ) ;
305+ assert_eq ! ( format!( "{:.1e}" , -845 ) , "-8.5e2" ) ;
306+ assert_eq ! ( format!( "{:.1e}" , -825 ) , "-8.3e2" ) ;
307+ assert_eq ! ( format!( "{:.1e}" , -805 ) , "-8.1e2" ) ;
308+ assert_eq ! ( format!( "{:.1e}" , -785 ) , "-7.9e2" ) ;
309+ assert_eq ! ( format!( "{:.1e}" , -765 ) , "-7.7e2" ) ;
310+ assert_eq ! ( format!( "{:.1e}" , -745 ) , "-7.5e2" ) ;
311+ assert_eq ! ( format!( "{:.1e}" , -725 ) , "-7.3e2" ) ;
312+ assert_eq ! ( format!( "{:.1e}" , -705 ) , "-7.1e2" ) ;
313+ assert_eq ! ( format!( "{:.1e}" , -685 ) , "-6.9e2" ) ;
314+ assert_eq ! ( format!( "{:.1e}" , -665 ) , "-6.7e2" ) ;
315+ assert_eq ! ( format!( "{:.1e}" , -645 ) , "-6.5e2" ) ;
316+ assert_eq ! ( format!( "{:.1e}" , -625 ) , "-6.3e2" ) ;
317+ assert_eq ! ( format!( "{:.1e}" , -605 ) , "-6.1e2" ) ;
318+ assert_eq ! ( format!( "{:.1e}" , -585 ) , "-5.9e2" ) ;
319+ assert_eq ! ( format!( "{:.1e}" , -565 ) , "-5.7e2" ) ;
320+ assert_eq ! ( format!( "{:.1e}" , -545 ) , "-5.5e2" ) ;
321+ assert_eq ! ( format!( "{:.1e}" , -525 ) , "-5.3e2" ) ;
322+ assert_eq ! ( format!( "{:.1e}" , -505 ) , "-5.1e2" ) ;
323+ assert_eq ! ( format!( "{:.1e}" , -485 ) , "-4.9e2" ) ;
324+ assert_eq ! ( format!( "{:.1e}" , -465 ) , "-4.7e2" ) ;
325+ assert_eq ! ( format!( "{:.1e}" , -445 ) , "-4.5e2" ) ;
326+ assert_eq ! ( format!( "{:.1e}" , -425 ) , "-4.3e2" ) ;
327+ assert_eq ! ( format!( "{:.1e}" , -405 ) , "-4.1e2" ) ;
328+ assert_eq ! ( format!( "{:.1e}" , -385 ) , "-3.9e2" ) ;
329+ assert_eq ! ( format!( "{:.1e}" , -365 ) , "-3.7e2" ) ;
330+ assert_eq ! ( format!( "{:.1e}" , -345 ) , "-3.5e2" ) ;
331+ assert_eq ! ( format!( "{:.1e}" , -325 ) , "-3.3e2" ) ;
332+ assert_eq ! ( format!( "{:.1e}" , -305 ) , "-3.1e2" ) ;
333+ assert_eq ! ( format!( "{:.1e}" , -285 ) , "-2.9e2" ) ;
334+ assert_eq ! ( format!( "{:.1e}" , -265 ) , "-2.7e2" ) ;
335+ assert_eq ! ( format!( "{:.1e}" , -245 ) , "-2.5e2" ) ;
336+ assert_eq ! ( format!( "{:.1e}" , -225 ) , "-2.3e2" ) ;
337+ assert_eq ! ( format!( "{:.1e}" , -205 ) , "-2.1e2" ) ;
338+ assert_eq ! ( format!( "{:.1e}" , -185 ) , "-1.9e2" ) ;
339+ assert_eq ! ( format!( "{:.1e}" , -165 ) , "-1.7e2" ) ;
340+ assert_eq ! ( format!( "{:.1e}" , -145 ) , "-1.5e2" ) ;
341+ assert_eq ! ( format!( "{:.1e}" , -125 ) , "-1.3e2" ) ;
342+ assert_eq ! ( format!( "{:.1e}" , -105 ) , "-1.1e2" ) ;
343+ assert_eq ! ( format!( "{:.1e}" , 105 ) , "1.1e2" ) ;
344+ assert_eq ! ( format!( "{:.1e}" , 125 ) , "1.3e2" ) ;
345+ assert_eq ! ( format!( "{:.1e}" , 145 ) , "1.5e2" ) ;
346+ assert_eq ! ( format!( "{:.1e}" , 165 ) , "1.7e2" ) ;
347+ assert_eq ! ( format!( "{:.1e}" , 185 ) , "1.9e2" ) ;
348+ assert_eq ! ( format!( "{:.1e}" , 205 ) , "2.1e2" ) ;
349+ assert_eq ! ( format!( "{:.1e}" , 225 ) , "2.3e2" ) ;
350+ assert_eq ! ( format!( "{:.1e}" , 245 ) , "2.5e2" ) ;
351+ assert_eq ! ( format!( "{:.1e}" , 265 ) , "2.7e2" ) ;
352+ assert_eq ! ( format!( "{:.1e}" , 285 ) , "2.9e2" ) ;
353+ assert_eq ! ( format!( "{:.1e}" , 305 ) , "3.1e2" ) ;
354+ assert_eq ! ( format!( "{:.1e}" , 325 ) , "3.3e2" ) ;
355+ assert_eq ! ( format!( "{:.1e}" , 345 ) , "3.5e2" ) ;
356+ assert_eq ! ( format!( "{:.1e}" , 365 ) , "3.7e2" ) ;
357+ assert_eq ! ( format!( "{:.1e}" , 385 ) , "3.9e2" ) ;
358+ assert_eq ! ( format!( "{:.1e}" , 405 ) , "4.1e2" ) ;
359+ assert_eq ! ( format!( "{:.1e}" , 425 ) , "4.3e2" ) ;
360+ assert_eq ! ( format!( "{:.1e}" , 445 ) , "4.5e2" ) ;
361+ assert_eq ! ( format!( "{:.1e}" , 465 ) , "4.7e2" ) ;
362+ assert_eq ! ( format!( "{:.1e}" , 485 ) , "4.9e2" ) ;
363+ assert_eq ! ( format!( "{:.1e}" , 505 ) , "5.1e2" ) ;
364+ assert_eq ! ( format!( "{:.1e}" , 525 ) , "5.3e2" ) ;
365+ assert_eq ! ( format!( "{:.1e}" , 545 ) , "5.5e2" ) ;
366+ assert_eq ! ( format!( "{:.1e}" , 565 ) , "5.7e2" ) ;
367+ assert_eq ! ( format!( "{:.1e}" , 585 ) , "5.9e2" ) ;
368+ assert_eq ! ( format!( "{:.1e}" , 605 ) , "6.1e2" ) ;
369+ assert_eq ! ( format!( "{:.1e}" , 625 ) , "6.3e2" ) ;
370+ assert_eq ! ( format!( "{:.1e}" , 645 ) , "6.5e2" ) ;
371+ assert_eq ! ( format!( "{:.1e}" , 665 ) , "6.7e2" ) ;
372+ assert_eq ! ( format!( "{:.1e}" , 685 ) , "6.9e2" ) ;
373+ assert_eq ! ( format!( "{:.1e}" , 705 ) , "7.1e2" ) ;
374+ assert_eq ! ( format!( "{:.1e}" , 725 ) , "7.3e2" ) ;
375+ assert_eq ! ( format!( "{:.1e}" , 745 ) , "7.5e2" ) ;
376+ assert_eq ! ( format!( "{:.1e}" , 765 ) , "7.7e2" ) ;
377+ assert_eq ! ( format!( "{:.1e}" , 785 ) , "7.9e2" ) ;
378+ assert_eq ! ( format!( "{:.1e}" , 805 ) , "8.1e2" ) ;
379+ assert_eq ! ( format!( "{:.1e}" , 825 ) , "8.3e2" ) ;
380+ assert_eq ! ( format!( "{:.1e}" , 845 ) , "8.5e2" ) ;
381+ assert_eq ! ( format!( "{:.1e}" , 865 ) , "8.7e2" ) ;
382+ assert_eq ! ( format!( "{:.1e}" , 885 ) , "8.9e2" ) ;
383+ assert_eq ! ( format!( "{:.1e}" , 905 ) , "9.1e2" ) ;
384+ assert_eq ! ( format!( "{:.1e}" , 925 ) , "9.3e2" ) ;
385+ assert_eq ! ( format!( "{:.1e}" , 945 ) , "9.5e2" ) ;
386+ assert_eq ! ( format!( "{:.1e}" , 965 ) , "9.7e2" ) ;
387+ assert_eq ! ( format!( "{:.1e}" , 985 ) , "9.9e2" ) ;
388+ assert_eq ! ( format!( "{:.1e}" , 995 ) , "1.0e3" ) ;
389+ assert_eq ! ( format!( "{:.1e}" , 996 ) , "1.0e3" ) ;
390+ assert_eq ! ( format!( "{:.1e}" , 997 ) , "1.0e3" ) ;
391+ assert_eq ! ( format!( "{:.1e}" , 998 ) , "1.0e3" ) ;
392+ assert_eq ! ( format!( "{:.1e}" , 999 ) , "1.0e3" ) ;
393+ assert_eq ! ( format!( "{:.1e}" , 1050 ) , "1.1e3" ) ;
394+ assert_eq ! ( format!( "{:.1e}" , 1250 ) , "1.3e3" ) ;
395+ assert_eq ! ( format!( "{:.1e}" , 1450 ) , "1.5e3" ) ;
396+ assert_eq ! ( format!( "{:.1e}" , 1650 ) , "1.7e3" ) ;
397+ assert_eq ! ( format!( "{:.1e}" , 1850 ) , "1.9e3" ) ;
398+ assert_eq ! ( format!( "{:.2e}" , -1985 ) , "-1.99e3" ) ;
399+ assert_eq ! ( format!( "{:.2e}" , -1965 ) , "-1.97e3" ) ;
400+ assert_eq ! ( format!( "{:.2e}" , -1945 ) , "-1.95e3" ) ;
401+ assert_eq ! ( format!( "{:.2e}" , -1925 ) , "-1.93e3" ) ;
402+ assert_eq ! ( format!( "{:.2e}" , -1905 ) , "-1.91e3" ) ;
403+ assert_eq ! ( format!( "{:.2e}" , -1885 ) , "-1.89e3" ) ;
404+ assert_eq ! ( format!( "{:.2e}" , -1865 ) , "-1.87e3" ) ;
405+ assert_eq ! ( format!( "{:.2e}" , -1845 ) , "-1.85e3" ) ;
406+ assert_eq ! ( format!( "{:.2e}" , -1825 ) , "-1.83e3" ) ;
407+ assert_eq ! ( format!( "{:.2e}" , -1805 ) , "-1.81e3" ) ;
408+ assert_eq ! ( format!( "{:.2e}" , -1785 ) , "-1.79e3" ) ;
409+ assert_eq ! ( format!( "{:.2e}" , -1765 ) , "-1.77e3" ) ;
410+ assert_eq ! ( format!( "{:.2e}" , -1745 ) , "-1.75e3" ) ;
411+ assert_eq ! ( format!( "{:.2e}" , -1725 ) , "-1.73e3" ) ;
412+ assert_eq ! ( format!( "{:.2e}" , -1705 ) , "-1.71e3" ) ;
413+ assert_eq ! ( format!( "{:.2e}" , -1685 ) , "-1.69e3" ) ;
414+ assert_eq ! ( format!( "{:.2e}" , -1665 ) , "-1.67e3" ) ;
415+ assert_eq ! ( format!( "{:.2e}" , -1645 ) , "-1.65e3" ) ;
416+ assert_eq ! ( format!( "{:.2e}" , -1625 ) , "-1.63e3" ) ;
417+ assert_eq ! ( format!( "{:.2e}" , -1605 ) , "-1.61e3" ) ;
418+ assert_eq ! ( format!( "{:.2e}" , -1585 ) , "-1.59e3" ) ;
419+ assert_eq ! ( format!( "{:.2e}" , -1565 ) , "-1.57e3" ) ;
420+ assert_eq ! ( format!( "{:.2e}" , -1545 ) , "-1.55e3" ) ;
421+ assert_eq ! ( format!( "{:.2e}" , -1525 ) , "-1.53e3" ) ;
422+ assert_eq ! ( format!( "{:.2e}" , -1505 ) , "-1.51e3" ) ;
423+ assert_eq ! ( format!( "{:.2e}" , -1485 ) , "-1.49e3" ) ;
424+ assert_eq ! ( format!( "{:.2e}" , -1465 ) , "-1.47e3" ) ;
425+ assert_eq ! ( format!( "{:.2e}" , -1445 ) , "-1.45e3" ) ;
426+ assert_eq ! ( format!( "{:.2e}" , -1425 ) , "-1.43e3" ) ;
427+ assert_eq ! ( format!( "{:.2e}" , -1405 ) , "-1.41e3" ) ;
428+ assert_eq ! ( format!( "{:.2e}" , -1385 ) , "-1.39e3" ) ;
429+ assert_eq ! ( format!( "{:.2e}" , -1365 ) , "-1.37e3" ) ;
430+ assert_eq ! ( format!( "{:.2e}" , -1345 ) , "-1.35e3" ) ;
431+ assert_eq ! ( format!( "{:.2e}" , -1325 ) , "-1.33e3" ) ;
432+ assert_eq ! ( format!( "{:.2e}" , -1305 ) , "-1.31e3" ) ;
433+ assert_eq ! ( format!( "{:.2e}" , -1285 ) , "-1.29e3" ) ;
434+ assert_eq ! ( format!( "{:.2e}" , -1265 ) , "-1.27e3" ) ;
435+ assert_eq ! ( format!( "{:.2e}" , -1245 ) , "-1.25e3" ) ;
436+ assert_eq ! ( format!( "{:.2e}" , -1225 ) , "-1.23e3" ) ;
437+ assert_eq ! ( format!( "{:.2e}" , -1205 ) , "-1.21e3" ) ;
438+ assert_eq ! ( format!( "{:.2e}" , -1185 ) , "-1.19e3" ) ;
439+ assert_eq ! ( format!( "{:.2e}" , -1165 ) , "-1.17e3" ) ;
440+ assert_eq ! ( format!( "{:.2e}" , -1145 ) , "-1.15e3" ) ;
441+ assert_eq ! ( format!( "{:.2e}" , -1125 ) , "-1.13e3" ) ;
442+ assert_eq ! ( format!( "{:.2e}" , -1105 ) , "-1.11e3" ) ;
443+ assert_eq ! ( format!( "{:.2e}" , -1085 ) , "-1.09e3" ) ;
444+ assert_eq ! ( format!( "{:.2e}" , -1065 ) , "-1.07e3" ) ;
445+ assert_eq ! ( format!( "{:.2e}" , -1045 ) , "-1.05e3" ) ;
446+ assert_eq ! ( format!( "{:.2e}" , -1025 ) , "-1.03e3" ) ;
447+ assert_eq ! ( format!( "{:.2e}" , -1005 ) , "-1.01e3" ) ;
448+ assert_eq ! ( format!( "{:.2e}" , 1005 ) , "1.01e3" ) ;
449+ assert_eq ! ( format!( "{:.2e}" , 1025 ) , "1.03e3" ) ;
450+ assert_eq ! ( format!( "{:.2e}" , 1045 ) , "1.05e3" ) ;
451+ assert_eq ! ( format!( "{:.2e}" , 1065 ) , "1.07e3" ) ;
452+ assert_eq ! ( format!( "{:.2e}" , 1085 ) , "1.09e3" ) ;
453+ assert_eq ! ( format!( "{:.2e}" , 1105 ) , "1.11e3" ) ;
454+ assert_eq ! ( format!( "{:.2e}" , 1125 ) , "1.13e3" ) ;
455+ assert_eq ! ( format!( "{:.2e}" , 1145 ) , "1.15e3" ) ;
456+ assert_eq ! ( format!( "{:.2e}" , 1165 ) , "1.17e3" ) ;
457+ assert_eq ! ( format!( "{:.2e}" , 1185 ) , "1.19e3" ) ;
458+ assert_eq ! ( format!( "{:.2e}" , 1205 ) , "1.21e3" ) ;
459+ assert_eq ! ( format!( "{:.2e}" , 1225 ) , "1.23e3" ) ;
460+ assert_eq ! ( format!( "{:.2e}" , 1245 ) , "1.25e3" ) ;
461+ assert_eq ! ( format!( "{:.2e}" , 1265 ) , "1.27e3" ) ;
462+ assert_eq ! ( format!( "{:.2e}" , 1285 ) , "1.29e3" ) ;
463+ assert_eq ! ( format!( "{:.2e}" , 1305 ) , "1.31e3" ) ;
464+ assert_eq ! ( format!( "{:.2e}" , 1325 ) , "1.33e3" ) ;
465+ assert_eq ! ( format!( "{:.2e}" , 1345 ) , "1.35e3" ) ;
466+ assert_eq ! ( format!( "{:.2e}" , 1365 ) , "1.37e3" ) ;
467+ assert_eq ! ( format!( "{:.2e}" , 1385 ) , "1.39e3" ) ;
468+ assert_eq ! ( format!( "{:.2e}" , 1405 ) , "1.41e3" ) ;
469+ assert_eq ! ( format!( "{:.2e}" , 1425 ) , "1.43e3" ) ;
470+ assert_eq ! ( format!( "{:.2e}" , 1445 ) , "1.45e3" ) ;
471+ assert_eq ! ( format!( "{:.2e}" , 1465 ) , "1.47e3" ) ;
472+ assert_eq ! ( format!( "{:.2e}" , 1485 ) , "1.49e3" ) ;
473+ assert_eq ! ( format!( "{:.2e}" , 1505 ) , "1.51e3" ) ;
474+ assert_eq ! ( format!( "{:.2e}" , 1525 ) , "1.53e3" ) ;
475+ assert_eq ! ( format!( "{:.2e}" , 1545 ) , "1.55e3" ) ;
476+ assert_eq ! ( format!( "{:.2e}" , 1565 ) , "1.57e3" ) ;
477+ assert_eq ! ( format!( "{:.2e}" , 1585 ) , "1.59e3" ) ;
478+ assert_eq ! ( format!( "{:.2e}" , 1605 ) , "1.61e3" ) ;
479+ assert_eq ! ( format!( "{:.2e}" , 1625 ) , "1.63e3" ) ;
480+ assert_eq ! ( format!( "{:.2e}" , 1645 ) , "1.65e3" ) ;
481+ assert_eq ! ( format!( "{:.2e}" , 1665 ) , "1.67e3" ) ;
482+ assert_eq ! ( format!( "{:.2e}" , 1685 ) , "1.69e3" ) ;
483+ assert_eq ! ( format!( "{:.2e}" , 1705 ) , "1.71e3" ) ;
484+ assert_eq ! ( format!( "{:.2e}" , 1725 ) , "1.73e3" ) ;
485+ assert_eq ! ( format!( "{:.2e}" , 1745 ) , "1.75e3" ) ;
486+ assert_eq ! ( format!( "{:.2e}" , 1765 ) , "1.77e3" ) ;
487+ assert_eq ! ( format!( "{:.2e}" , 1785 ) , "1.79e3" ) ;
488+ assert_eq ! ( format!( "{:.2e}" , 1805 ) , "1.81e3" ) ;
489+ assert_eq ! ( format!( "{:.2e}" , 1825 ) , "1.83e3" ) ;
490+ assert_eq ! ( format!( "{:.2e}" , 1845 ) , "1.85e3" ) ;
491+ assert_eq ! ( format!( "{:.2e}" , 1865 ) , "1.87e3" ) ;
492+ assert_eq ! ( format!( "{:.2e}" , 1885 ) , "1.89e3" ) ;
493+ assert_eq ! ( format!( "{:.2e}" , 1905 ) , "1.91e3" ) ;
494+ assert_eq ! ( format!( "{:.2e}" , 1925 ) , "1.93e3" ) ;
495+ assert_eq ! ( format!( "{:.2e}" , 1945 ) , "1.95e3" ) ;
496+ assert_eq ! ( format!( "{:.2e}" , 1965 ) , "1.97e3" ) ;
497+ assert_eq ! ( format!( "{:.2e}" , 1985 ) , "1.99e3" ) ;
498+ }
499+
155500#[ test]
156501fn test_format_int_zero ( ) {
157502 assert_eq ! ( format!( "{}" , 0 ) , "0" ) ;
0 commit comments