File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed
Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,11 @@ pub trait Generator {
5151 self . write_char ( b'-' ) ;
5252 }
5353
54+ if num > 1e19 || num < 1e-15 {
55+ self . write ( format ! ( "{:e}" , num) . as_bytes ( ) ) ;
56+ return ;
57+ }
58+
5459 let start = self . current_index ( ) ;
5560
5661 self . write_digits_from_u64 ( num as u64 ) ;
Original file line number Diff line number Diff line change @@ -137,7 +137,22 @@ fn stringify_integer() {
137137
138138#[ test]
139139fn stringify_small_number ( ) {
140- assert_eq ! ( stringify( 0.000000000000001 ) , "0.000000000000001" ) ;
140+ assert_eq ! ( stringify( 1e-15 ) , "0.000000000000001" ) ;
141+ }
142+
143+ #[ test]
144+ fn stringify_large_number ( ) {
145+ assert_eq ! ( stringify( 1e19 ) , "10000000000000000000" ) ;
146+ }
147+
148+ #[ test]
149+ fn stringify_very_large_number ( ) {
150+ assert_eq ! ( stringify( 3.141592653589793e20 ) , "3.141592653589793e20" ) ;
151+ }
152+
153+ #[ test]
154+ fn stringify_very_small_number ( ) {
155+ assert_eq ! ( stringify( 3.141592653589793e-16 ) , "3.141592653589793e-16" ) ;
141156}
142157
143158#[ test]
You can’t perform that action at this time.
0 commit comments