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";
33 (*
parameters->mutable_real_params())[std::string(kLimitsTime)] =
36 parameters->mutable_real_params()->erase(std::string(kLimitsTime));
41 if (
parameters.real_params().contains(std::string(kLimitsTime))) {
42 const double scip_limit =
43 parameters.real_params().at(std::string(kLimitsTime));
44 if (scip_limit >= 1e20) {
45 return absl::InfiniteDuration();
46 }
else if (scip_limit <= 0.0) {
47 return absl::Duration();
49 return absl::Seconds(scip_limit);
52 return absl::InfiniteDuration();
56 return parameters.real_params().contains(std::string(kLimitsTime));
61 (*
parameters->mutable_int_params())[std::string(kParallelMaxNThreads)] =
66 if (
parameters.int_params().contains(std::string(kParallelMaxNThreads))) {
67 return parameters.int_params().at(std::string(kParallelMaxNThreads));
73 return parameters.int_params().contains(std::string(kParallelMaxNThreads));
79 (*
parameters->mutable_int_params())[std::string(kDisplayVerbLevel)] =
84 return parameters.int_params().contains(std::string(kDisplayVerbLevel))
85 ?
parameters.int_params().at(std::string(kDisplayVerbLevel))
89 return parameters.int_params().contains(std::string(kDisplayVerbLevel));
94 parameters->mutable_int_params()->erase(std::string(kDisplayVerbLevel));
96 (*
parameters->mutable_int_params())[std::string(kDisplayVerbLevel)] = 0;
100 return !
parameters.int_params().contains(std::string(kDisplayVerbLevel)) ||
101 (
parameters.int_params().at(std::string(kDisplayVerbLevel)) > 0);
109 random_seed =
std::max(0, random_seed);
110 (*
parameters->mutable_int_params())[std::string(kRandomSeedParam)] =
116 return parameters.int_params().at(std::string(kRandomSeedParam));
122 return parameters.int_params().contains(std::string(kRandomSeedParam));