@@ -176,29 +176,30 @@ impl fmt::Display for HumanReadable {
176
176
177
177
if sec. is_infinite ( ) {
178
178
write ! ( f, "Unknown" )
179
- } else if sec > 48. * 3600. {
180
- let sec = self . 0 ;
181
- let d = sec / ( 24. * 3600. ) ;
182
- let h = sec % ( 24. * 3600. ) ;
183
- let min = sec % 3600. ;
184
- let sec = sec % 60. ;
185
-
186
- write ! ( f, "{:3} days {:2} h {:2} min {:2} s" , d, h, min, sec) // XYZ days PQ h RS min TU s
187
- } else if sec > 6_000. {
188
- let sec = self . 0 ;
189
- let h = sec / 3600. ;
190
- let min = sec % 3600. ;
191
- let sec = sec % 60. ;
192
-
193
- write ! ( f, "{:3} h {:2} min {:2} s" , h, min, sec) // XYZ h PQ min RS s
194
- } else if sec > 100. {
195
- let sec = self . 0 ;
196
- let min = sec / 60. ;
197
- let sec = sec % 60. ;
198
-
199
- write ! ( f, "{:3} min {:2} s" , min, sec) // XYZ min PQ s
200
179
} else {
201
- write ! ( f, "{:3.0} s" , self . 0 ) // XYZ s
180
+ // we're doing modular arithmetic, treat as integer
181
+ let sec = sec as u32 ;
182
+ if sec > 48 * 3600 {
183
+ let d = sec / ( 24 * 3600 ) ;
184
+ let h = sec % ( 24 * 3600 ) ;
185
+ let min = sec % 3600 ;
186
+ let sec = sec % 60 ;
187
+
188
+ write ! ( f, "{:3} days {:2} h {:2} min {:2} s" , d, h, min, sec) // XYZ days PQ h RS min TU s
189
+ } else if sec > 6_000 {
190
+ let h = sec / 3600 ;
191
+ let min = sec % 3600 ;
192
+ let sec = sec % 60 ;
193
+
194
+ write ! ( f, "{:3} h {:2} min {:2} s" , h, min, sec) // XYZ h PQ min RS s
195
+ } else if sec > 100 {
196
+ let min = sec / 60 ;
197
+ let sec = sec % 60 ;
198
+
199
+ write ! ( f, "{:3} min {:2} s" , min, sec) // XYZ min PQ s
200
+ } else {
201
+ write ! ( f, "{:3.0} s" , self . 0 ) // XYZ s
202
+ }
202
203
}
203
204
} else {
204
205
const KIB : f64 = 1024.0 ;
0 commit comments