mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-10 18:10:56 +09:00
Profiler: Display correctly rounded percentages as '#.##%'
This commit is contained in:
parent
fcf86b07a5
commit
a373542f4c
Notes:
sideshowbarker
2024-07-17 07:35:50 +09:00
Author: https://github.com/gmta
Commit: a373542f4c
Pull-request: https://github.com/SerenityOS/serenity/pull/15087
2 changed files with 12 additions and 6 deletions
|
@ -111,10 +111,16 @@ GUI::Variant ProfileModel::data(GUI::ModelIndex const& index, GUI::ModelRole rol
|
|||
return {};
|
||||
}
|
||||
if (role == GUI::ModelRole::Display) {
|
||||
auto round_percentages = [this](auto percentage) {
|
||||
return roundf(static_cast<float>(percentage) / static_cast<float>(m_profile.filtered_event_indices().size())
|
||||
* percent_digits_rounding_constant)
|
||||
* 100.0f / percent_digits_rounding_constant;
|
||||
auto round_percentages = [this](auto value) {
|
||||
auto percentage_full_precision = round_to<int>(
|
||||
static_cast<float>(value)
|
||||
* 100.f
|
||||
/ static_cast<float>(m_profile.filtered_event_indices().size())
|
||||
* percent_digits_rounding);
|
||||
return String::formatted(
|
||||
"{}.{:02}",
|
||||
percentage_full_precision / percent_digits_rounding,
|
||||
percentage_full_precision % percent_digits_rounding);
|
||||
};
|
||||
if (index.column() == Column::SampleCount) {
|
||||
if (m_profile.show_percentages())
|
||||
|
|
|
@ -14,8 +14,8 @@ namespace Profiler {
|
|||
class Profile;
|
||||
|
||||
// Number of digits after the decimal point for sample percentages.
|
||||
static constexpr int const number_of_percent_digits = 3;
|
||||
static constexpr float const percent_digits_rounding_constant = AK::pow(10, number_of_percent_digits);
|
||||
static constexpr int const number_of_percent_digits = 2;
|
||||
static constexpr int const percent_digits_rounding = AK::pow(10, number_of_percent_digits);
|
||||
|
||||
class ProfileModel final : public GUI::Model {
|
||||
public:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue