diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-03-01 18:45:09 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-03-01 18:45:09 +0100 |
commit | 65f51a72b5697e537338422a39a015f2207ab5bc (patch) | |
tree | 2f252074967bcd9afecd4b1e5fa33320a78291c3 | |
parent | c021cbd3b8b93fac6d8f5950476bee1cf5f1a2cb (diff) |
improve Ns Debug{} format
-rw-r--r-- | src/timer-ns.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/timer-ns.cpp b/src/timer-ns.cpp index 2b4bfd09..a6d1a073 100644 --- a/src/timer-ns.cpp +++ b/src/timer-ns.cpp @@ -2,6 +2,7 @@ #include "compat/assert.hpp" #include "compat/debug.hpp" #include <cr/Debug.h> +#include <mg/Functions.h> namespace floormat { @@ -101,10 +102,24 @@ uint64_t Ns::operator*() const { return stamp; } Debug& operator<<(Debug& dbg, const Ns& box) { + const auto value = (float)((double)box.stamp * 1e-6); + const auto absval = Math::abs(value); + int precision; + if (absval < 2) + precision = 4; + else if (absval < 5) + precision = 2; + else if (absval < 100) + precision = 1; + else + precision = 0; auto flags = dbg.flags(); dbg << ""; dbg.setFlags(flags | Debug::Flag::NoSpace); - dbg << fraction((float)((double)box.stamp * 1e-6), 1) << " ms"; + dbg << "{"; + dbg << fraction(value, precision); + //dbg << " ms"; + dbg << "}"; dbg.setFlags(flags); return dbg; } |