Fix formatting of negative durations

This commit is contained in:
Oleksandr Pavlyk
2026-07-14 16:14:19 -05:00
parent 4327f32a04
commit 45cea23c89
3 changed files with 8 additions and 13 deletions

View File

@@ -2526,15 +2526,13 @@ def format_duration(seconds, *, allow_negative=False, allow_zero=False):
):
return "n/a"
if seconds >= 1:
magnitude = abs(seconds)
if magnitude >= 1:
multiplier = 1.0
units = "s"
elif seconds >= 1e-3:
elif magnitude >= 1e-3:
multiplier = 1e3
units = "ms"
elif seconds >= 1e-6:
multiplier = 1e6
units = "us"
else:
multiplier = 1e6
units = "us"

View File

@@ -883,15 +883,13 @@ def format_duration(seconds, *, allow_negative=False, allow_zero=False):
):
return "n/a"
if seconds >= 1:
magnitude = abs(seconds)
if magnitude >= 1:
multiplier = 1.0
units = "s"
elif seconds >= 1e-3:
elif magnitude >= 1e-3:
multiplier = 1e3
units = "ms"
elif seconds >= 1e-6:
multiplier = 1e6
units = "us"
else:
multiplier = 1e6
units = "us"

View File

@@ -1572,9 +1572,8 @@ def test_format_diff_and_percent_ranges(nvbench_compare):
assert nvbench_compare.format_duration(math.inf) == "n/a"
assert nvbench_compare.format_duration(-1.0) == "n/a"
assert nvbench_compare.format_duration(0.0) == "n/a"
assert (
nvbench_compare.format_duration(-1.0, allow_negative=True) == "-1000000.000 us"
)
assert nvbench_compare.format_duration(-1.0, allow_negative=True) == "-1.000 s"
assert nvbench_compare.format_duration(-1e-3, allow_negative=True) == "-1.000 ms"
assert nvbench_compare.format_duration(0.0, allow_zero=True) == "0.000 us"
assert nvbench_compare.format_duration_range((-12e-6, 8e-6)) == "[-12.00, 8.00] us"
assert (