24 constexpr absl::string_view kLimitsTime =
"limits/time";
25 constexpr absl::string_view kParallelMaxNThreads =
"parallel/maxnthreads";
26 constexpr absl::string_view kDisplayVerbLevel =
"display/verblevel";
27 constexpr absl::string_view kRandomSeedParam =
"randomization/randomseedshift";
32 (*
parameters->mutable_real_params())[std::string(kLimitsTime)] =
35 parameters->mutable_real_params()->erase(std::string(kLimitsTime));
40 if (
parameters.real_params().contains(std::string(kLimitsTime))) {
41 const double scip_limit =
42 parameters.real_params().at(std::string(kLimitsTime));
43 if (scip_limit >= 1e20) {
44 return absl::InfiniteDuration();
45 }
else if (scip_limit <= 0.0) {
46 return absl::Duration();
48 return absl::Seconds(scip_limit);
51 return absl::InfiniteDuration();
55 return parameters.real_params().contains(std::string(kLimitsTime));
60 (*
parameters->mutable_int_params())[std::string(kParallelMaxNThreads)] =
65 if (
parameters.int_params().contains(std::string(kParallelMaxNThreads))) {
66 return parameters.int_params().at(std::string(kParallelMaxNThreads));
72 return parameters.int_params().contains(std::string(kParallelMaxNThreads));
78 (*
parameters->mutable_int_params())[std::string(kDisplayVerbLevel)] =
83 return parameters.int_params().contains(std::string(kDisplayVerbLevel))
84 ?
parameters.int_params().at(std::string(kDisplayVerbLevel))
88 return parameters.int_params().contains(std::string(kDisplayVerbLevel));
93 parameters->mutable_int_params()->erase(std::string(kDisplayVerbLevel));
95 (*
parameters->mutable_int_params())[std::string(kDisplayVerbLevel)] = 0;
99 return !
parameters.int_params().contains(std::string(kDisplayVerbLevel)) ||
100 (
parameters.int_params().at(std::string(kDisplayVerbLevel)) > 0);
108 random_seed =
std::max(0, random_seed);
109 (*
parameters->mutable_int_params())[std::string(kRandomSeedParam)] =
115 return parameters.int_params().at(std::string(kRandomSeedParam));
121 return parameters.int_params().contains(std::string(kRandomSeedParam));