#include "chrome/installer/setup/progress_calculator.h"
#include <math.h>
#include "base/check_op.h"
int ProgressCalculator::Calculate(installer::InstallerStage stage) const {
DCHECK_GT(stage, last_stage_);
constexpr double kMinProgress = 5.0;
constexpr double kMaxProgress = 100.0;
last_stage_ = stage;
static_assert(installer::NUM_STAGES > 1, "There must be more than one stage");
double fraction =
static_cast<double>(stage) / (double{installer::NUM_STAGES} - 1.0);
return round(((kMaxProgress - kMinProgress) * fraction) + kMinProgress);
}