Files
z-bar-qt/Plugins/ZShell/Services/usagefmt.cpp
T
zach 2a50732bc2
Lint & Format (JS/TS) / lint-format (pull_request) Successful in 10s
Python / lint-format (pull_request) Successful in 23s
Python / test (pull_request) Successful in 31s
Lint & Format (Rust) / lint-format (pull_request) Successful in 1m12s
resources popout refresh + new components & reskinned old components
2026-06-14 23:09:10 +02:00

34 lines
716 B
C++

#include "usagefmt.hpp"
namespace {
constexpr qreal kKib = 1024.0;
constexpr qreal kMib = kKib * 1024.0;
constexpr qreal kGib = kMib * 1024.0;
bool finitePositive(qreal v) {
return std::isfinite(v) && v >= 0.0;
}
} // namespace
namespace ZShell::services::usagefmt {
FormatResult UsageFmt::formatKib(qreal kib, qreal total) const {
if (!finitePositive(kib) || !finitePositive(total)) {
return { 0.0, 0.0, "KiB" };
}
if (total >= kGib) {
return { kib / kGib, total / kGib, "TiB" };
}
if (total >= kMib) {
return { kib / kMib, total / kMib, "GiB" };
}
if (total >= kKib) {
return { kib / kKib, total / kKib, "MiB" };
}
return { kib, total, "KiB" };
}
} // namespace ZShell::services::usagefmt