24 const double relative_gap_limit) {
54 if (std::isnan(objective_value)) {
55 return objective_value;
58 if (relative_gap_limit ==
kInf) {
61 if (!std::isfinite(objective_value)) {
62 return objective_value;
65 const double non_negative_relative_gap_limit =
66 std::fmax(0.0, relative_gap_limit);
68 non_negative_relative_gap_limit *
69 (std::abs(objective_value) + std::numeric_limits<double>::epsilon());
73 return objective_value + (is_maximize ? 1.0 : -1.0) * delta;