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