| ... | ... | @@ -1250,9 +1250,9 @@ fn formatDuration(ns: u64, comptime fmt: []const u8, options: std.fmt.FormatOpti |
| 1250 | 1250 | const kunits = ns_remaining * 1000 / unit.ns; |
| 1251 | 1251 | if (kunits >= 1000) { |
| 1252 | 1252 | try formatInt(kunits / 1000, 10, false, .{}, writer); |
| 1253 | | if (kunits > 1000) { |
| 1253 | const frac = kunits % 1000; |
| 1254 | if (frac > 0) { |
| 1254 | 1255 | // Write up to 3 decimal places |
| 1255 | | const frac = kunits % 1000; |
| 1256 | 1256 | var buf = [_]u8{ '.', 0, 0, 0 }; |
| 1257 | 1257 | _ = formatIntBuf(buf[1..], frac, 10, false, .{ .fill = '0', .width = 3 }); |
| 1258 | 1258 | var end: usize = 4; |
| ... | ... | @@ -1286,9 +1286,14 @@ test "fmtDuration" { |
| 1286 | 1286 | .{ .s = "1us", .d = std.time.ns_per_us }, |
| 1287 | 1287 | .{ .s = "1.45us", .d = 1450 }, |
| 1288 | 1288 | .{ .s = "1.5us", .d = 3 * std.time.ns_per_us / 2 }, |
| 1289 | .{ .s = "14.5us", .d = 14500 }, |
| 1290 | .{ .s = "145us", .d = 145000 }, |
| 1289 | 1291 | .{ .s = "999.999us", .d = std.time.ns_per_ms - 1 }, |
| 1290 | 1292 | .{ .s = "1ms", .d = std.time.ns_per_ms + 1 }, |
| 1291 | 1293 | .{ .s = "1.5ms", .d = 3 * std.time.ns_per_ms / 2 }, |
| 1294 | .{ .s = "1.11ms", .d = 1110000 }, |
| 1295 | .{ .s = "1.111ms", .d = 1111000 }, |
| 1296 | .{ .s = "1.111ms", .d = 1111100 }, |
| 1292 | 1297 | .{ .s = "999.999ms", .d = std.time.ns_per_s - 1 }, |
| 1293 | 1298 | .{ .s = "1s", .d = std.time.ns_per_s }, |
| 1294 | 1299 | .{ .s = "59.999s", .d = std.time.ns_per_min - 1 }, |