Fix ByteSize formatting
This commit is contained in:
@@ -57,7 +57,7 @@ namespace openVulkanoCpp
|
|||||||
static constexpr std::array<uint64_t, 13> FACTORS = ByteSizeUnitHelper::BuildFactors();
|
static constexpr std::array<uint64_t, 13> FACTORS = ByteSizeUnitHelper::BuildFactors();
|
||||||
static constexpr std::array<double, 13> DIVISORS = ByteSizeUnitHelper::BuildDivisors();
|
static constexpr std::array<double, 13> DIVISORS = ByteSizeUnitHelper::BuildDivisors();
|
||||||
public:
|
public:
|
||||||
enum Unit : int { B, kiB, MiB, GiB, TiB, PiB, EiB, kB, MB, GB, TB, PB, EB };
|
enum Unit : int { B = 0, kiB, MiB, GiB, TiB, PiB, EiB, kB, MB, GB, TB, PB, EB };
|
||||||
|
|
||||||
constexpr ByteSizeUnit(Unit unit) : unit(unit) {}
|
constexpr ByteSizeUnit(Unit unit) : unit(unit) {}
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ namespace openVulkanoCpp
|
|||||||
|
|
||||||
[[nodiscard]] static constexpr ByteSizeUnit GetClosestUnit(uint64_t size, bool si = false)
|
[[nodiscard]] static constexpr ByteSizeUnit GetClosestUnit(uint64_t size, bool si = false)
|
||||||
{
|
{
|
||||||
for (int i = (si ? EB : EiB); i <= (si ? kB : kiB); i--)
|
for (int i = (si ? EB : EiB); i >= (si ? kB : kiB); i--)
|
||||||
{
|
{
|
||||||
if (size > FACTORS[i]) return { static_cast<Unit>(i) };
|
if (size > FACTORS[i]) return { static_cast<Unit>(i) };
|
||||||
}
|
}
|
||||||
@@ -118,7 +118,7 @@ namespace openVulkanoCpp
|
|||||||
{
|
{
|
||||||
oss << std::setprecision(3);
|
oss << std::setprecision(3);
|
||||||
auto unit = ByteSizeUnit::GetClosestUnit(bytes, si);
|
auto unit = ByteSizeUnit::GetClosestUnit(bytes, si);
|
||||||
oss << bytes * unit.GetDivisor() << ' ' << unit.GetName();
|
oss << static_cast<double>(bytes) * unit.GetDivisor() << ' ' << unit.GetName();
|
||||||
return oss;
|
return oss;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user