Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
parameters.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/math_opt/parameters.proto
4// Protobuf C++ Version: 6.31.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28namespace math_opt {
29
30inline constexpr StrictnessProto::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
32 : _cached_size_{0},
33 bad_parameter_{false} {}
34
35template <typename>
36PROTOBUF_CONSTEXPR StrictnessProto::StrictnessProto(::_pbi::ConstantInitialized)
37#if defined(PROTOBUF_CUSTOM_VTABLE)
38 : ::google::protobuf::Message(StrictnessProto_class_data_.base()),
39#else // PROTOBUF_CUSTOM_VTABLE
40 : ::google::protobuf::Message(),
41#endif // PROTOBUF_CUSTOM_VTABLE
42 _impl_(::_pbi::ConstantInitialized()) {
43}
51
52PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
54
55inline constexpr SolverInitializerProto::Impl_::Impl_(
56 ::_pbi::ConstantInitialized) noexcept
57 : _cached_size_{0},
58 gurobi_{nullptr} {}
59
60template <typename>
61PROTOBUF_CONSTEXPR SolverInitializerProto::SolverInitializerProto(::_pbi::ConstantInitialized)
62#if defined(PROTOBUF_CUSTOM_VTABLE)
63 : ::google::protobuf::Message(SolverInitializerProto_class_data_.base()),
64#else // PROTOBUF_CUSTOM_VTABLE
65 : ::google::protobuf::Message(),
66#endif // PROTOBUF_CUSTOM_VTABLE
67 _impl_(::_pbi::ConstantInitialized()) {
68}
76
77PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
79
80inline constexpr SolveParametersProto::Impl_::Impl_(
81 ::_pbi::ConstantInitialized) noexcept
82 : _cached_size_{0},
83 time_limit_{nullptr},
84 gscip_{nullptr},
85 gurobi_{nullptr},
86 glop_{nullptr},
87 cp_sat_{nullptr},
88 pdlp_{nullptr},
89 osqp_{nullptr},
90 glpk_{nullptr},
91 highs_{nullptr},
92 iteration_limit_{::int64_t{0}},
93 enable_output_{false},
94 threads_{0},
95 random_seed_{0},
96 lp_algorithm_{static_cast< ::operations_research::math_opt::LPAlgorithmProto >(0)},
97 presolve_{static_cast< ::operations_research::math_opt::EmphasisProto >(0)},
98 cuts_{static_cast< ::operations_research::math_opt::EmphasisProto >(0)},
99 heuristics_{static_cast< ::operations_research::math_opt::EmphasisProto >(0)},
100 scaling_{static_cast< ::operations_research::math_opt::EmphasisProto >(0)},
101 relative_gap_tolerance_{0},
102 absolute_gap_tolerance_{0},
103 cutoff_limit_{0},
104 objective_limit_{0},
105 best_bound_limit_{0},
106 node_limit_{::int64_t{0}},
107 solution_limit_{0},
108 solution_pool_size_{0} {}
109
110template <typename>
111PROTOBUF_CONSTEXPR SolveParametersProto::SolveParametersProto(::_pbi::ConstantInitialized)
112#if defined(PROTOBUF_CUSTOM_VTABLE)
113 : ::google::protobuf::Message(SolveParametersProto_class_data_.base()),
114#else // PROTOBUF_CUSTOM_VTABLE
115 : ::google::protobuf::Message(),
116#endif // PROTOBUF_CUSTOM_VTABLE
117 _impl_(::_pbi::ConstantInitialized()) {
118}
126
127PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
129} // namespace math_opt
130} // namespace operations_research
131static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
133static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
135const ::uint32_t
137 protodesc_cold) = {
138 0x081, // bitmap
139 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::StrictnessProto, _impl_._has_bits_),
140 4, // hasbit index offset
141 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::StrictnessProto, _impl_.bad_parameter_),
142 0,
143 0x081, // bitmap
144 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolverInitializerProto, _impl_._has_bits_),
145 4, // hasbit index offset
146 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolverInitializerProto, _impl_.gurobi_),
147 0,
148 0x081, // bitmap
149 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_._has_bits_),
150 29, // hasbit index offset
151 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.time_limit_),
152 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.iteration_limit_),
153 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.node_limit_),
154 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.cutoff_limit_),
155 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.objective_limit_),
156 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.best_bound_limit_),
157 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.solution_limit_),
158 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.enable_output_),
159 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.threads_),
160 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.random_seed_),
161 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.absolute_gap_tolerance_),
162 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.relative_gap_tolerance_),
163 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.solution_pool_size_),
164 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.lp_algorithm_),
165 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.presolve_),
166 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.cuts_),
167 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.heuristics_),
168 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.scaling_),
169 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.gscip_),
170 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.gurobi_),
171 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.glop_),
172 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.cp_sat_),
173 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.pdlp_),
174 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.osqp_),
175 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.glpk_),
176 PROTOBUF_FIELD_OFFSET(::operations_research::math_opt::SolveParametersProto, _impl_.highs_),
177 0,
178 9,
179 23,
180 20,
181 21,
182 22,
183 24,
184 10,
185 11,
186 12,
187 19,
188 18,
189 25,
190 13,
191 14,
192 15,
193 16,
194 17,
195 1,
196 2,
197 3,
198 4,
199 5,
200 6,
201 7,
202 8,
203};
204
205static const ::_pbi::MigrationSchema
206 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
210};
216const char descriptor_table_protodef_ortools_2fmath_5fopt_2fparameters_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
217 protodesc_cold) = {
218 "\n!ortools/math_opt/parameters.proto\022\034ope"
219 "rations_research.math_opt\032\036google/protob"
220 "uf/duration.proto\032\032ortools/pdlp/solvers."
221 "proto\032\035ortools/glop/parameters.proto\032\031or"
222 "tools/gscip/gscip.proto\032#ortools/math_op"
223 "t/solvers/glpk.proto\032%ortools/math_opt/s"
224 "olvers/gurobi.proto\032$ortools/math_opt/so"
225 "lvers/highs.proto\032#ortools/math_opt/solv"
226 "ers/osqp.proto\032 ortools/sat/sat_paramete"
227 "rs.proto\"(\n\017StrictnessProto\022\025\n\rbad_param"
228 "eter\030\001 \001(\010\"d\n\026SolverInitializerProto\022D\n\006"
229 "gurobi\030\001 \001(\01324.operations_research.math_"
230 "opt.GurobiInitializerProtoJ\004\010\002\020\003\"\263\013\n\024Sol"
231 "veParametersProto\022-\n\ntime_limit\030\001 \001(\0132\031."
232 "google.protobuf.Duration\022\034\n\017iteration_li"
233 "mit\030\002 \001(\003H\000\210\001\001\022\027\n\nnode_limit\030\030 \001(\003H\001\210\001\001\022"
234 "\031\n\014cutoff_limit\030\024 \001(\001H\002\210\001\001\022\034\n\017objective_"
235 "limit\030\025 \001(\001H\003\210\001\001\022\035\n\020best_bound_limit\030\026 \001"
236 "(\001H\004\210\001\001\022\033\n\016solution_limit\030\027 \001(\005H\005\210\001\001\022\025\n\r"
237 "enable_output\030\003 \001(\010\022\024\n\007threads\030\004 \001(\005H\006\210\001"
238 "\001\022\030\n\013random_seed\030\005 \001(\005H\007\210\001\001\022#\n\026absolute_"
239 "gap_tolerance\030\022 \001(\001H\010\210\001\001\022#\n\026relative_gap"
240 "_tolerance\030\021 \001(\001H\t\210\001\001\022\037\n\022solution_pool_s"
241 "ize\030\031 \001(\005H\n\210\001\001\022D\n\014lp_algorithm\030\006 \001(\0162..o"
242 "perations_research.math_opt.LPAlgorithmP"
243 "roto\022=\n\010presolve\030\007 \001(\0162+.operations_rese"
244 "arch.math_opt.EmphasisProto\0229\n\004cuts\030\010 \001("
245 "\0162+.operations_research.math_opt.Emphasi"
246 "sProto\022\?\n\nheuristics\030\t \001(\0162+.operations_"
247 "research.math_opt.EmphasisProto\022<\n\007scali"
248 "ng\030\n \001(\0162+.operations_research.math_opt."
249 "EmphasisProto\0223\n\005gscip\030\014 \001(\0132$.operation"
250 "s_research.GScipParameters\022C\n\006gurobi\030\r \001"
251 "(\01323.operations_research.math_opt.Gurobi"
252 "ParametersProto\0226\n\004glop\030\016 \001(\0132(.operatio"
253 "ns_research.glop.GlopParameters\0226\n\006cp_sa"
254 "t\030\017 \001(\0132&.operations_research.sat.SatPar"
255 "ameters\022F\n\004pdlp\030\020 \001(\01328.operations_resea"
256 "rch.pdlp.PrimalDualHybridGradientParams\022"
257 "=\n\004osqp\030\023 \001(\0132/.operations_research.math"
258 "_opt.OsqpSettingsProto\022\?\n\004glpk\030\032 \001(\01321.o"
259 "perations_research.math_opt.GlpkParamete"
260 "rsProto\022>\n\005highs\030\033 \001(\0132/.operations_rese"
261 "arch.math_opt.HighsOptionsProtoB\022\n\020_iter"
262 "ation_limitB\r\n\013_node_limitB\017\n\r_cutoff_li"
263 "mitB\022\n\020_objective_limitB\023\n\021_best_bound_l"
264 "imitB\021\n\017_solution_limitB\n\n\010_threadsB\016\n\014_"
265 "random_seedB\031\n\027_absolute_gap_toleranceB\031"
266 "\n\027_relative_gap_toleranceB\025\n\023_solution_p"
267 "ool_sizeJ\004\010\013\020\014*\310\002\n\017SolverTypeProto\022\033\n\027SO"
268 "LVER_TYPE_UNSPECIFIED\020\000\022\025\n\021SOLVER_TYPE_G"
269 "SCIP\020\001\022\026\n\022SOLVER_TYPE_GUROBI\020\002\022\024\n\020SOLVER"
270 "_TYPE_GLOP\020\003\022\026\n\022SOLVER_TYPE_CP_SAT\020\004\022\024\n\020"
271 "SOLVER_TYPE_PDLP\020\005\022\024\n\020SOLVER_TYPE_GLPK\020\006"
272 "\022\024\n\020SOLVER_TYPE_OSQP\020\007\022\024\n\020SOLVER_TYPE_EC"
273 "OS\020\010\022\023\n\017SOLVER_TYPE_SCS\020\t\022\025\n\021SOLVER_TYPE"
274 "_HIGHS\020\n\022\031\n\025SOLVER_TYPE_SANTORINI\020\013\022\026\n\022S"
275 "OLVER_TYPE_XPRESS\020\r\"\004\010\014\020\014*\250\001\n\020LPAlgorith"
276 "mProto\022\034\n\030LP_ALGORITHM_UNSPECIFIED\020\000\022\037\n\033"
277 "LP_ALGORITHM_PRIMAL_SIMPLEX\020\001\022\035\n\031LP_ALGO"
278 "RITHM_DUAL_SIMPLEX\020\002\022\030\n\024LP_ALGORITHM_BAR"
279 "RIER\020\003\022\034\n\030LP_ALGORITHM_FIRST_ORDER\020\004*\215\001\n"
280 "\rEmphasisProto\022\030\n\024EMPHASIS_UNSPECIFIED\020\000"
281 "\022\020\n\014EMPHASIS_OFF\020\001\022\020\n\014EMPHASIS_LOW\020\002\022\023\n\017"
282 "EMPHASIS_MEDIUM\020\003\022\021\n\rEMPHASIS_HIGH\020\004\022\026\n\022"
283 "EMPHASIS_VERY_HIGH\020\005B\036\n\032com.google.ortoo"
284 "ls.mathoptP\001b\006proto3"
285};
286static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const
315namespace operations_research {
316namespace math_opt {
317const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SolverTypeProto_descriptor() {
318 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fmath_5fopt_2fparameters_2eproto);
320}
321PROTOBUF_CONSTINIT const uint32_t SolverTypeProto_internal_data_[] = {
322 786432u, 32u, 2u, };
323const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL LPAlgorithmProto_descriptor() {
324 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fmath_5fopt_2fparameters_2eproto);
326}
327PROTOBUF_CONSTINIT const uint32_t LPAlgorithmProto_internal_data_[] = {
328 327680u, 0u, };
329const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL EmphasisProto_descriptor() {
330 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fmath_5fopt_2fparameters_2eproto);
332}
333PROTOBUF_CONSTINIT const uint32_t EmphasisProto_internal_data_[] = {
334 393216u, 0u, };
335// ===================================================================
336
337class StrictnessProto::_Internal {
338 public:
339 using HasBits =
340 decltype(::std::declval<StrictnessProto>()._impl_._has_bits_);
341 static constexpr ::int32_t kHasBitsOffset =
342 8 * PROTOBUF_FIELD_OFFSET(StrictnessProto, _impl_._has_bits_);
343};
344
345StrictnessProto::StrictnessProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
346#if defined(PROTOBUF_CUSTOM_VTABLE)
347 : ::google::protobuf::Message(arena, StrictnessProto_class_data_.base()) {
348#else // PROTOBUF_CUSTOM_VTABLE
349 : ::google::protobuf::Message(arena) {
350#endif // PROTOBUF_CUSTOM_VTABLE
351 SharedCtor(arena);
352 // @@protoc_insertion_point(arena_constructor:operations_research.math_opt.StrictnessProto)
353}
355 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StrictnessProto& from)
356#if defined(PROTOBUF_CUSTOM_VTABLE)
357 : ::google::protobuf::Message(arena, StrictnessProto_class_data_.base()),
358#else // PROTOBUF_CUSTOM_VTABLE
359 : ::google::protobuf::Message(arena),
360#endif // PROTOBUF_CUSTOM_VTABLE
361 _impl_(from._impl_) {
362 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
363 from._internal_metadata_);
364}
365PROTOBUF_NDEBUG_INLINE StrictnessProto::Impl_::Impl_(
366 ::google::protobuf::internal::InternalVisibility visibility,
367 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
368 : _cached_size_{0} {}
369
370inline void StrictnessProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
371 new (&_impl_) Impl_(internal_visibility(), arena);
372 _impl_.bad_parameter_ = {};
373}
375 // @@protoc_insertion_point(destructor:operations_research.math_opt.StrictnessProto)
376 SharedDtor(*this);
377}
378inline void StrictnessProto::SharedDtor(MessageLite& self) {
379 StrictnessProto& this_ = static_cast<StrictnessProto&>(self);
380 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
381 ABSL_DCHECK(this_.GetArena() == nullptr);
382 this_._impl_.~Impl_();
383}
384
385inline void* PROTOBUF_NONNULL StrictnessProto::PlacementNew_(
386 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
387 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
388 return ::new (mem) StrictnessProto(arena);
389}
390constexpr auto StrictnessProto::InternalNewImpl_() {
391 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(StrictnessProto),
392 alignof(StrictnessProto));
393}
395 return ::google::protobuf::internal::ClassDataFull{
396 ::google::protobuf::internal::ClassData{
398 &_table_.header,
399 nullptr, // OnDemandRegisterArenaDtor
400 nullptr, // IsInitialized
401 &StrictnessProto::MergeImpl,
402 ::google::protobuf::Message::GetNewImpl<StrictnessProto>(),
403#if defined(PROTOBUF_CUSTOM_VTABLE)
404 &StrictnessProto::SharedDtor,
405 ::google::protobuf::Message::GetClearImpl<StrictnessProto>(), &StrictnessProto::ByteSizeLong,
407#endif // PROTOBUF_CUSTOM_VTABLE
408 PROTOBUF_FIELD_OFFSET(StrictnessProto, _impl_._cached_size_),
409 false,
410 },
411 &StrictnessProto::kDescriptorMethods,
413 nullptr, // tracker
414 };
415}
416
417PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
418 ::google::protobuf::internal::ClassDataFull StrictnessProto_class_data_ =
420
421PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
423 ::google::protobuf::internal::PrefetchToLocalCache(&StrictnessProto_class_data_);
424 ::google::protobuf::internal::PrefetchToLocalCache(StrictnessProto_class_data_.tc_table);
425 return StrictnessProto_class_data_.base();
426}
427PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
428const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
429StrictnessProto::_table_ = {
430 {
431 PROTOBUF_FIELD_OFFSET(StrictnessProto, _impl_._has_bits_),
432 0, // no _extensions_
433 1, 0, // max_field_number, fast_idx_mask
434 offsetof(decltype(_table_), field_lookup_table),
435 4294967294, // skipmap
436 offsetof(decltype(_table_), field_entries),
437 1, // num_field_entries
438 0, // num_aux_entries
439 offsetof(decltype(_table_), field_names), // no aux_entries
441 nullptr, // post_loop_handler
442 ::_pbi::TcParser::GenericFallback, // fallback
443 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
444 ::_pbi::TcParser::GetTable<::operations_research::math_opt::StrictnessProto>(), // to_prefetch
445 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
446 }, {{
447 // bool bad_parameter = 1;
448 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(StrictnessProto, _impl_.bad_parameter_), 0>(),
449 {8, 0, 0, PROTOBUF_FIELD_OFFSET(StrictnessProto, _impl_.bad_parameter_)}},
450 }}, {{
451 65535, 65535
452 }}, {{
453 // bool bad_parameter = 1;
454 {PROTOBUF_FIELD_OFFSET(StrictnessProto, _impl_.bad_parameter_), _Internal::kHasBitsOffset + 0, 0,
455 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
456 }},
457 // no aux_entries
458 {{
459 }},
460};
461PROTOBUF_NOINLINE void StrictnessProto::Clear() {
462// @@protoc_insertion_point(message_clear_start:operations_research.math_opt.StrictnessProto)
463 ::google::protobuf::internal::TSanWrite(&_impl_);
464 ::uint32_t cached_has_bits = 0;
465 // Prevent compiler warnings about cached_has_bits being unused
466 (void) cached_has_bits;
467
468 _impl_.bad_parameter_ = false;
469 _impl_._has_bits_.Clear();
470 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
471}
472
473#if defined(PROTOBUF_CUSTOM_VTABLE)
474::uint8_t* PROTOBUF_NONNULL StrictnessProto::_InternalSerialize(
475 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
476 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
477 const StrictnessProto& this_ = static_cast<const StrictnessProto&>(base);
478#else // PROTOBUF_CUSTOM_VTABLE
479::uint8_t* PROTOBUF_NONNULL StrictnessProto::_InternalSerialize(
480 ::uint8_t* PROTOBUF_NONNULL target,
481 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
482 const StrictnessProto& this_ = *this;
483#endif // PROTOBUF_CUSTOM_VTABLE
484 // @@protoc_insertion_point(serialize_to_array_start:operations_research.math_opt.StrictnessProto)
485 ::uint32_t cached_has_bits = 0;
486 (void)cached_has_bits;
487
488 // bool bad_parameter = 1;
489 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
490 if (this_._internal_bad_parameter() != 0) {
491 target = stream->EnsureSpace(target);
492 target = ::_pbi::WireFormatLite::WriteBoolToArray(
493 1, this_._internal_bad_parameter(), target);
494 }
495 }
496
497 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
498 target =
499 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
500 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
501 }
502 // @@protoc_insertion_point(serialize_to_array_end:operations_research.math_opt.StrictnessProto)
503 return target;
504}
505
506#if defined(PROTOBUF_CUSTOM_VTABLE)
508 const StrictnessProto& this_ = static_cast<const StrictnessProto&>(base);
509#else // PROTOBUF_CUSTOM_VTABLE
510::size_t StrictnessProto::ByteSizeLong() const {
511 const StrictnessProto& this_ = *this;
512#endif // PROTOBUF_CUSTOM_VTABLE
513 // @@protoc_insertion_point(message_byte_size_start:operations_research.math_opt.StrictnessProto)
514 ::size_t total_size = 0;
515
516 ::uint32_t cached_has_bits = 0;
517 // Prevent compiler warnings about cached_has_bits being unused
518 (void)cached_has_bits;
519
520 {
521 // bool bad_parameter = 1;
522 cached_has_bits = this_._impl_._has_bits_[0];
523 if ((cached_has_bits & 0x00000001u) != 0) {
524 if (this_._internal_bad_parameter() != 0) {
525 total_size += 2;
526 }
527 }
528 }
529 return this_.MaybeComputeUnknownFieldsSize(total_size,
530 &this_._impl_._cached_size_);
531}
532
533void StrictnessProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
534 auto* const _this = static_cast<StrictnessProto*>(&to_msg);
535 auto& from = static_cast<const StrictnessProto&>(from_msg);
536 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.math_opt.StrictnessProto)
537 ABSL_DCHECK_NE(&from, _this);
538 ::uint32_t cached_has_bits = 0;
539 (void) cached_has_bits;
540
541 cached_has_bits = from._impl_._has_bits_[0];
542 if ((cached_has_bits & 0x00000001u) != 0) {
543 if (from._internal_bad_parameter() != 0) {
544 _this->_impl_.bad_parameter_ = from._impl_.bad_parameter_;
545 }
546 }
547 _this->_impl_._has_bits_[0] |= cached_has_bits;
548 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
549}
550
552// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.math_opt.StrictnessProto)
553 if (&from == this) return;
554 Clear();
555 MergeFrom(from);
556}
557
558
559void StrictnessProto::InternalSwap(StrictnessProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
560 using ::std::swap;
561 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
562 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
563 swap(_impl_.bad_parameter_, other->_impl_.bad_parameter_);
564}
565
566::google::protobuf::Metadata StrictnessProto::GetMetadata() const {
567 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
568}
569// ===================================================================
570
572 public:
573 using HasBits =
574 decltype(::std::declval<SolverInitializerProto>()._impl_._has_bits_);
575 static constexpr ::int32_t kHasBitsOffset =
576 8 * PROTOBUF_FIELD_OFFSET(SolverInitializerProto, _impl_._has_bits_);
578
580 ::google::protobuf::internal::TSanWrite(&_impl_);
581 if (_impl_.gurobi_ != nullptr) _impl_.gurobi_->Clear();
582 _impl_._has_bits_[0] &= ~0x00000001u;
583}
584SolverInitializerProto::SolverInitializerProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
585#if defined(PROTOBUF_CUSTOM_VTABLE)
586 : ::google::protobuf::Message(arena, SolverInitializerProto_class_data_.base()) {
587#else // PROTOBUF_CUSTOM_VTABLE
588 : ::google::protobuf::Message(arena) {
589#endif // PROTOBUF_CUSTOM_VTABLE
590 SharedCtor(arena);
591 // @@protoc_insertion_point(arena_constructor:operations_research.math_opt.SolverInitializerProto)
592}
593PROTOBUF_NDEBUG_INLINE SolverInitializerProto::Impl_::Impl_(
594 ::google::protobuf::internal::InternalVisibility visibility,
595 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
596 const ::operations_research::math_opt::SolverInitializerProto& from_msg)
597 : _has_bits_{from._has_bits_},
598 _cached_size_{0} {}
599
601 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
603#if defined(PROTOBUF_CUSTOM_VTABLE)
604 : ::google::protobuf::Message(arena, SolverInitializerProto_class_data_.base()) {
605#else // PROTOBUF_CUSTOM_VTABLE
606 : ::google::protobuf::Message(arena) {
607#endif // PROTOBUF_CUSTOM_VTABLE
608 SolverInitializerProto* const _this = this;
609 (void)_this;
610 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
611 from._internal_metadata_);
612 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
613 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
614 _impl_.gurobi_ = ((cached_has_bits & 0x00000001u) != 0)
615 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.gurobi_)
616 : nullptr;
617
618 // @@protoc_insertion_point(copy_constructor:operations_research.math_opt.SolverInitializerProto)
619}
620PROTOBUF_NDEBUG_INLINE SolverInitializerProto::Impl_::Impl_(
621 ::google::protobuf::internal::InternalVisibility visibility,
622 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
623 : _cached_size_{0} {}
624
625inline void SolverInitializerProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
626 new (&_impl_) Impl_(internal_visibility(), arena);
627 _impl_.gurobi_ = {};
628}
630 // @@protoc_insertion_point(destructor:operations_research.math_opt.SolverInitializerProto)
631 SharedDtor(*this);
632}
633inline void SolverInitializerProto::SharedDtor(MessageLite& self) {
634 SolverInitializerProto& this_ = static_cast<SolverInitializerProto&>(self);
635 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
636 ABSL_DCHECK(this_.GetArena() == nullptr);
637 delete this_._impl_.gurobi_;
638 this_._impl_.~Impl_();
639}
640
641inline void* PROTOBUF_NONNULL SolverInitializerProto::PlacementNew_(
642 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
643 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
644 return ::new (mem) SolverInitializerProto(arena);
645}
647 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SolverInitializerProto),
649}
651 return ::google::protobuf::internal::ClassDataFull{
652 ::google::protobuf::internal::ClassData{
654 &_table_.header,
655 nullptr, // OnDemandRegisterArenaDtor
656 nullptr, // IsInitialized
657 &SolverInitializerProto::MergeImpl,
658 ::google::protobuf::Message::GetNewImpl<SolverInitializerProto>(),
659#if defined(PROTOBUF_CUSTOM_VTABLE)
660 &SolverInitializerProto::SharedDtor,
661 ::google::protobuf::Message::GetClearImpl<SolverInitializerProto>(), &SolverInitializerProto::ByteSizeLong,
663#endif // PROTOBUF_CUSTOM_VTABLE
664 PROTOBUF_FIELD_OFFSET(SolverInitializerProto, _impl_._cached_size_),
665 false,
666 },
667 &SolverInitializerProto::kDescriptorMethods,
669 nullptr, // tracker
670 };
671}
672
673PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
674 ::google::protobuf::internal::ClassDataFull SolverInitializerProto_class_data_ =
677PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
679 ::google::protobuf::internal::PrefetchToLocalCache(&SolverInitializerProto_class_data_);
680 ::google::protobuf::internal::PrefetchToLocalCache(SolverInitializerProto_class_data_.tc_table);
682}
683PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
684const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
685SolverInitializerProto::_table_ = {
686 {
687 PROTOBUF_FIELD_OFFSET(SolverInitializerProto, _impl_._has_bits_),
688 0, // no _extensions_
689 1, 0, // max_field_number, fast_idx_mask
690 offsetof(decltype(_table_), field_lookup_table),
691 4294967294, // skipmap
692 offsetof(decltype(_table_), field_entries),
693 1, // num_field_entries
694 1, // num_aux_entries
695 offsetof(decltype(_table_), aux_entries),
697 nullptr, // post_loop_handler
698 ::_pbi::TcParser::GenericFallback, // fallback
699 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
700 ::_pbi::TcParser::GetTable<::operations_research::math_opt::SolverInitializerProto>(), // to_prefetch
701 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
702 }, {{
703 // .operations_research.math_opt.GurobiInitializerProto gurobi = 1;
704 {::_pbi::TcParser::FastMtS1,
705 {10, 0, 0, PROTOBUF_FIELD_OFFSET(SolverInitializerProto, _impl_.gurobi_)}},
706 }}, {{
707 65535, 65535
708 }}, {{
709 // .operations_research.math_opt.GurobiInitializerProto gurobi = 1;
710 {PROTOBUF_FIELD_OFFSET(SolverInitializerProto, _impl_.gurobi_), _Internal::kHasBitsOffset + 0, 0,
711 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
712 }},
713 {{
714 {::_pbi::TcParser::GetTable<::operations_research::math_opt::GurobiInitializerProto>()},
715 }},
716 {{
717 }},
718};
719PROTOBUF_NOINLINE void SolverInitializerProto::Clear() {
720// @@protoc_insertion_point(message_clear_start:operations_research.math_opt.SolverInitializerProto)
721 ::google::protobuf::internal::TSanWrite(&_impl_);
722 ::uint32_t cached_has_bits = 0;
723 // Prevent compiler warnings about cached_has_bits being unused
724 (void) cached_has_bits;
725
726 cached_has_bits = _impl_._has_bits_[0];
727 if ((cached_has_bits & 0x00000001u) != 0) {
728 ABSL_DCHECK(_impl_.gurobi_ != nullptr);
729 _impl_.gurobi_->Clear();
730 }
731 _impl_._has_bits_.Clear();
732 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
733}
734
735#if defined(PROTOBUF_CUSTOM_VTABLE)
736::uint8_t* PROTOBUF_NONNULL SolverInitializerProto::_InternalSerialize(
737 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
738 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
739 const SolverInitializerProto& this_ = static_cast<const SolverInitializerProto&>(base);
740#else // PROTOBUF_CUSTOM_VTABLE
741::uint8_t* PROTOBUF_NONNULL SolverInitializerProto::_InternalSerialize(
742 ::uint8_t* PROTOBUF_NONNULL target,
743 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
744 const SolverInitializerProto& this_ = *this;
745#endif // PROTOBUF_CUSTOM_VTABLE
746 // @@protoc_insertion_point(serialize_to_array_start:operations_research.math_opt.SolverInitializerProto)
747 ::uint32_t cached_has_bits = 0;
748 (void)cached_has_bits;
749
750 cached_has_bits = this_._impl_._has_bits_[0];
751 // .operations_research.math_opt.GurobiInitializerProto gurobi = 1;
752 if ((cached_has_bits & 0x00000001u) != 0) {
753 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
754 1, *this_._impl_.gurobi_, this_._impl_.gurobi_->GetCachedSize(), target,
755 stream);
756 }
757
758 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
759 target =
760 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
761 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
762 }
763 // @@protoc_insertion_point(serialize_to_array_end:operations_research.math_opt.SolverInitializerProto)
764 return target;
765}
766
767#if defined(PROTOBUF_CUSTOM_VTABLE)
769 const SolverInitializerProto& this_ = static_cast<const SolverInitializerProto&>(base);
770#else // PROTOBUF_CUSTOM_VTABLE
772 const SolverInitializerProto& this_ = *this;
773#endif // PROTOBUF_CUSTOM_VTABLE
774 // @@protoc_insertion_point(message_byte_size_start:operations_research.math_opt.SolverInitializerProto)
775 ::size_t total_size = 0;
776
777 ::uint32_t cached_has_bits = 0;
778 // Prevent compiler warnings about cached_has_bits being unused
779 (void)cached_has_bits;
780
781 {
782 // .operations_research.math_opt.GurobiInitializerProto gurobi = 1;
783 cached_has_bits = this_._impl_._has_bits_[0];
784 if ((cached_has_bits & 0x00000001u) != 0) {
785 total_size += 1 +
786 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.gurobi_);
787 }
788 }
789 return this_.MaybeComputeUnknownFieldsSize(total_size,
790 &this_._impl_._cached_size_);
791}
792
793void SolverInitializerProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
794 auto* const _this = static_cast<SolverInitializerProto*>(&to_msg);
795 auto& from = static_cast<const SolverInitializerProto&>(from_msg);
796 ::google::protobuf::Arena* arena = _this->GetArena();
797 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.math_opt.SolverInitializerProto)
798 ABSL_DCHECK_NE(&from, _this);
799 ::uint32_t cached_has_bits = 0;
800 (void) cached_has_bits;
801
802 cached_has_bits = from._impl_._has_bits_[0];
803 if ((cached_has_bits & 0x00000001u) != 0) {
804 ABSL_DCHECK(from._impl_.gurobi_ != nullptr);
805 if (_this->_impl_.gurobi_ == nullptr) {
806 _this->_impl_.gurobi_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.gurobi_);
807 } else {
808 _this->_impl_.gurobi_->MergeFrom(*from._impl_.gurobi_);
809 }
810 }
811 _this->_impl_._has_bits_[0] |= cached_has_bits;
812 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
813}
814
815void SolverInitializerProto::CopyFrom(const SolverInitializerProto& from) {
816// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.math_opt.SolverInitializerProto)
817 if (&from == this) return;
818 Clear();
819 MergeFrom(from);
820}
821
822
823void SolverInitializerProto::InternalSwap(SolverInitializerProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
824 using ::std::swap;
825 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
826 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
827 swap(_impl_.gurobi_, other->_impl_.gurobi_);
828}
829
830::google::protobuf::Metadata SolverInitializerProto::GetMetadata() const {
831 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
833// ===================================================================
834
836 public:
837 using HasBits =
838 decltype(::std::declval<SolveParametersProto>()._impl_._has_bits_);
839 static constexpr ::int32_t kHasBitsOffset =
840 8 * PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_._has_bits_);
841};
844 ::google::protobuf::internal::TSanWrite(&_impl_);
845 if (_impl_.time_limit_ != nullptr) _impl_.time_limit_->Clear();
846 _impl_._has_bits_[0] &= ~0x00000001u;
847}
849 ::google::protobuf::internal::TSanWrite(&_impl_);
850 if (_impl_.gscip_ != nullptr) _impl_.gscip_->Clear();
851 _impl_._has_bits_[0] &= ~0x00000002u;
852}
854 ::google::protobuf::internal::TSanWrite(&_impl_);
855 if (_impl_.gurobi_ != nullptr) _impl_.gurobi_->Clear();
856 _impl_._has_bits_[0] &= ~0x00000004u;
857}
859 ::google::protobuf::internal::TSanWrite(&_impl_);
860 if (_impl_.glop_ != nullptr) _impl_.glop_->Clear();
861 _impl_._has_bits_[0] &= ~0x00000008u;
862}
864 ::google::protobuf::internal::TSanWrite(&_impl_);
865 if (_impl_.cp_sat_ != nullptr) _impl_.cp_sat_->Clear();
866 _impl_._has_bits_[0] &= ~0x00000010u;
867}
869 ::google::protobuf::internal::TSanWrite(&_impl_);
870 if (_impl_.pdlp_ != nullptr) _impl_.pdlp_->Clear();
871 _impl_._has_bits_[0] &= ~0x00000020u;
872}
874 ::google::protobuf::internal::TSanWrite(&_impl_);
875 if (_impl_.osqp_ != nullptr) _impl_.osqp_->Clear();
876 _impl_._has_bits_[0] &= ~0x00000040u;
877}
879 ::google::protobuf::internal::TSanWrite(&_impl_);
880 if (_impl_.glpk_ != nullptr) _impl_.glpk_->Clear();
881 _impl_._has_bits_[0] &= ~0x00000080u;
882}
884 ::google::protobuf::internal::TSanWrite(&_impl_);
885 if (_impl_.highs_ != nullptr) _impl_.highs_->Clear();
886 _impl_._has_bits_[0] &= ~0x00000100u;
887}
888SolveParametersProto::SolveParametersProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
889#if defined(PROTOBUF_CUSTOM_VTABLE)
890 : ::google::protobuf::Message(arena, SolveParametersProto_class_data_.base()) {
891#else // PROTOBUF_CUSTOM_VTABLE
892 : ::google::protobuf::Message(arena) {
893#endif // PROTOBUF_CUSTOM_VTABLE
894 SharedCtor(arena);
895 // @@protoc_insertion_point(arena_constructor:operations_research.math_opt.SolveParametersProto)
896}
897PROTOBUF_NDEBUG_INLINE SolveParametersProto::Impl_::Impl_(
898 ::google::protobuf::internal::InternalVisibility visibility,
899 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
900 const ::operations_research::math_opt::SolveParametersProto& from_msg)
901 : _has_bits_{from._has_bits_},
902 _cached_size_{0} {}
903
905 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
906 const SolveParametersProto& from)
907#if defined(PROTOBUF_CUSTOM_VTABLE)
908 : ::google::protobuf::Message(arena, SolveParametersProto_class_data_.base()) {
909#else // PROTOBUF_CUSTOM_VTABLE
910 : ::google::protobuf::Message(arena) {
911#endif // PROTOBUF_CUSTOM_VTABLE
912 SolveParametersProto* const _this = this;
913 (void)_this;
914 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
915 from._internal_metadata_);
916 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
917 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
918 _impl_.time_limit_ = ((cached_has_bits & 0x00000001u) != 0)
919 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.time_limit_)
920 : nullptr;
921 _impl_.gscip_ = ((cached_has_bits & 0x00000002u) != 0)
922 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.gscip_)
923 : nullptr;
924 _impl_.gurobi_ = ((cached_has_bits & 0x00000004u) != 0)
925 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.gurobi_)
926 : nullptr;
927 _impl_.glop_ = ((cached_has_bits & 0x00000008u) != 0)
928 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.glop_)
929 : nullptr;
930 _impl_.cp_sat_ = ((cached_has_bits & 0x00000010u) != 0)
931 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.cp_sat_)
932 : nullptr;
933 _impl_.pdlp_ = ((cached_has_bits & 0x00000020u) != 0)
934 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.pdlp_)
935 : nullptr;
936 _impl_.osqp_ = ((cached_has_bits & 0x00000040u) != 0)
937 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.osqp_)
938 : nullptr;
939 _impl_.glpk_ = ((cached_has_bits & 0x00000080u) != 0)
940 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.glpk_)
941 : nullptr;
942 _impl_.highs_ = ((cached_has_bits & 0x00000100u) != 0)
943 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.highs_)
944 : nullptr;
945 ::memcpy(reinterpret_cast<char *>(&_impl_) +
946 offsetof(Impl_, iteration_limit_),
947 reinterpret_cast<const char *>(&from._impl_) +
948 offsetof(Impl_, iteration_limit_),
949 offsetof(Impl_, solution_pool_size_) -
950 offsetof(Impl_, iteration_limit_) +
951 sizeof(Impl_::solution_pool_size_));
952
953 // @@protoc_insertion_point(copy_constructor:operations_research.math_opt.SolveParametersProto)
954}
955PROTOBUF_NDEBUG_INLINE SolveParametersProto::Impl_::Impl_(
956 ::google::protobuf::internal::InternalVisibility visibility,
957 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
958 : _cached_size_{0} {}
959
960inline void SolveParametersProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
961 new (&_impl_) Impl_(internal_visibility(), arena);
962 ::memset(reinterpret_cast<char *>(&_impl_) +
963 offsetof(Impl_, time_limit_),
964 0,
965 offsetof(Impl_, solution_pool_size_) -
966 offsetof(Impl_, time_limit_) +
967 sizeof(Impl_::solution_pool_size_));
968}
970 // @@protoc_insertion_point(destructor:operations_research.math_opt.SolveParametersProto)
971 SharedDtor(*this);
973inline void SolveParametersProto::SharedDtor(MessageLite& self) {
974 SolveParametersProto& this_ = static_cast<SolveParametersProto&>(self);
975 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
976 ABSL_DCHECK(this_.GetArena() == nullptr);
977 delete this_._impl_.time_limit_;
978 delete this_._impl_.gscip_;
979 delete this_._impl_.gurobi_;
980 delete this_._impl_.glop_;
981 delete this_._impl_.cp_sat_;
982 delete this_._impl_.pdlp_;
983 delete this_._impl_.osqp_;
984 delete this_._impl_.glpk_;
985 delete this_._impl_.highs_;
986 this_._impl_.~Impl_();
987}
988
989inline void* PROTOBUF_NONNULL SolveParametersProto::PlacementNew_(
990 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
991 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
992 return ::new (mem) SolveParametersProto(arena);
993}
995 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SolveParametersProto),
996 alignof(SolveParametersProto));
999 return ::google::protobuf::internal::ClassDataFull{
1000 ::google::protobuf::internal::ClassData{
1002 &_table_.header,
1003 nullptr, // OnDemandRegisterArenaDtor
1004 nullptr, // IsInitialized
1005 &SolveParametersProto::MergeImpl,
1006 ::google::protobuf::Message::GetNewImpl<SolveParametersProto>(),
1007#if defined(PROTOBUF_CUSTOM_VTABLE)
1008 &SolveParametersProto::SharedDtor,
1009 ::google::protobuf::Message::GetClearImpl<SolveParametersProto>(), &SolveParametersProto::ByteSizeLong,
1011#endif // PROTOBUF_CUSTOM_VTABLE
1012 PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_._cached_size_),
1013 false,
1014 },
1015 &SolveParametersProto::kDescriptorMethods,
1017 nullptr, // tracker
1018 };
1019}
1020
1021PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1022 ::google::protobuf::internal::ClassDataFull SolveParametersProto_class_data_ =
1024
1025PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1027 ::google::protobuf::internal::PrefetchToLocalCache(&SolveParametersProto_class_data_);
1028 ::google::protobuf::internal::PrefetchToLocalCache(SolveParametersProto_class_data_.tc_table);
1030}
1031PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1032const ::_pbi::TcParseTable<5, 26, 9, 0, 2>
1033SolveParametersProto::_table_ = {
1034 {
1035 PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_._has_bits_),
1036 0, // no _extensions_
1037 27, 248, // max_field_number, fast_idx_mask
1038 offsetof(decltype(_table_), field_lookup_table),
1039 4160750592, // skipmap
1040 offsetof(decltype(_table_), field_entries),
1041 26, // num_field_entries
1042 9, // num_aux_entries
1043 offsetof(decltype(_table_), aux_entries),
1045 nullptr, // post_loop_handler
1046 ::_pbi::TcParser::GenericFallback, // fallback
1047 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1048 ::_pbi::TcParser::GetTable<::operations_research::math_opt::SolveParametersProto>(), // to_prefetch
1049 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1050 }, {{
1051 {::_pbi::TcParser::MiniParse, {}},
1052 // .google.protobuf.Duration time_limit = 1;
1053 {::_pbi::TcParser::FastMtS1,
1054 {10, 0, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.time_limit_)}},
1055 // optional int64 iteration_limit = 2;
1056 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SolveParametersProto, _impl_.iteration_limit_), 9>(),
1057 {16, 9, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.iteration_limit_)}},
1058 // bool enable_output = 3;
1059 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SolveParametersProto, _impl_.enable_output_), 10>(),
1060 {24, 10, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.enable_output_)}},
1061 // optional int32 threads = 4;
1062 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.threads_), 11>(),
1063 {32, 11, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.threads_)}},
1064 // optional int32 random_seed = 5;
1065 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.random_seed_), 12>(),
1066 {40, 12, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.random_seed_)}},
1067 // .operations_research.math_opt.LPAlgorithmProto lp_algorithm = 6;
1068 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.lp_algorithm_), 13>(),
1069 {48, 13, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.lp_algorithm_)}},
1070 // .operations_research.math_opt.EmphasisProto presolve = 7;
1071 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.presolve_), 14>(),
1072 {56, 14, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.presolve_)}},
1073 // .operations_research.math_opt.EmphasisProto cuts = 8;
1074 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.cuts_), 15>(),
1075 {64, 15, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.cuts_)}},
1076 // .operations_research.math_opt.EmphasisProto heuristics = 9;
1077 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.heuristics_), 16>(),
1078 {72, 16, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.heuristics_)}},
1079 // .operations_research.math_opt.EmphasisProto scaling = 10;
1080 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SolveParametersProto, _impl_.scaling_), 17>(),
1081 {80, 17, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.scaling_)}},
1082 {::_pbi::TcParser::MiniParse, {}},
1083 // .operations_research.GScipParameters gscip = 12;
1084 {::_pbi::TcParser::FastMtS1,
1085 {98, 1, 1, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.gscip_)}},
1086 // .operations_research.math_opt.GurobiParametersProto gurobi = 13;
1087 {::_pbi::TcParser::FastMtS1,
1088 {106, 2, 2, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.gurobi_)}},
1089 // .operations_research.glop.GlopParameters glop = 14;
1090 {::_pbi::TcParser::FastMtS1,
1091 {114, 3, 3, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.glop_)}},
1092 // .operations_research.sat.SatParameters cp_sat = 15;
1093 {::_pbi::TcParser::FastMtS1,
1094 {122, 4, 4, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.cp_sat_)}},
1095 // .operations_research.pdlp.PrimalDualHybridGradientParams pdlp = 16;
1096 {::_pbi::TcParser::FastMtS2,
1097 {386, 5, 5, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.pdlp_)}},
1098 // optional double relative_gap_tolerance = 17;
1099 {::_pbi::TcParser::FastF64S2,
1100 {393, 18, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.relative_gap_tolerance_)}},
1101 // optional double absolute_gap_tolerance = 18;
1102 {::_pbi::TcParser::FastF64S2,
1103 {401, 19, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.absolute_gap_tolerance_)}},
1104 // .operations_research.math_opt.OsqpSettingsProto osqp = 19;
1105 {::_pbi::TcParser::FastMtS2,
1106 {410, 6, 6, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.osqp_)}},
1107 // optional double cutoff_limit = 20;
1108 {::_pbi::TcParser::FastF64S2,
1109 {417, 20, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.cutoff_limit_)}},
1110 // optional double objective_limit = 21;
1111 {::_pbi::TcParser::FastF64S2,
1112 {425, 21, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.objective_limit_)}},
1113 // optional double best_bound_limit = 22;
1114 {::_pbi::TcParser::FastF64S2,
1115 {433, 22, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.best_bound_limit_)}},
1116 // optional int32 solution_limit = 23;
1117 {::_pbi::TcParser::FastV32S2,
1118 {440, 24, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.solution_limit_)}},
1119 // optional int64 node_limit = 24;
1120 {::_pbi::TcParser::FastV64S2,
1121 {448, 23, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.node_limit_)}},
1122 // optional int32 solution_pool_size = 25;
1123 {::_pbi::TcParser::FastV32S2,
1124 {456, 25, 0, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.solution_pool_size_)}},
1125 // .operations_research.math_opt.GlpkParametersProto glpk = 26;
1126 {::_pbi::TcParser::FastMtS2,
1127 {466, 7, 7, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.glpk_)}},
1128 // .operations_research.math_opt.HighsOptionsProto highs = 27;
1129 {::_pbi::TcParser::FastMtS2,
1130 {474, 8, 8, PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.highs_)}},
1131 {::_pbi::TcParser::MiniParse, {}},
1132 {::_pbi::TcParser::MiniParse, {}},
1133 {::_pbi::TcParser::MiniParse, {}},
1134 {::_pbi::TcParser::MiniParse, {}},
1135 }}, {{
1136 65535, 65535
1137 }}, {{
1138 // .google.protobuf.Duration time_limit = 1;
1139 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.time_limit_), _Internal::kHasBitsOffset + 0, 0,
1140 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1141 // optional int64 iteration_limit = 2;
1142 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.iteration_limit_), _Internal::kHasBitsOffset + 9, 0,
1143 (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1144 // bool enable_output = 3;
1145 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.enable_output_), _Internal::kHasBitsOffset + 10, 0,
1146 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1147 // optional int32 threads = 4;
1148 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.threads_), _Internal::kHasBitsOffset + 11, 0,
1149 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1150 // optional int32 random_seed = 5;
1151 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.random_seed_), _Internal::kHasBitsOffset + 12, 0,
1152 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1153 // .operations_research.math_opt.LPAlgorithmProto lp_algorithm = 6;
1154 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.lp_algorithm_), _Internal::kHasBitsOffset + 13, 0,
1155 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1156 // .operations_research.math_opt.EmphasisProto presolve = 7;
1157 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.presolve_), _Internal::kHasBitsOffset + 14, 0,
1158 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1159 // .operations_research.math_opt.EmphasisProto cuts = 8;
1160 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.cuts_), _Internal::kHasBitsOffset + 15, 0,
1161 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1162 // .operations_research.math_opt.EmphasisProto heuristics = 9;
1163 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.heuristics_), _Internal::kHasBitsOffset + 16, 0,
1164 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1165 // .operations_research.math_opt.EmphasisProto scaling = 10;
1166 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.scaling_), _Internal::kHasBitsOffset + 17, 0,
1167 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1168 // .operations_research.GScipParameters gscip = 12;
1169 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.gscip_), _Internal::kHasBitsOffset + 1, 1,
1170 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1171 // .operations_research.math_opt.GurobiParametersProto gurobi = 13;
1172 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.gurobi_), _Internal::kHasBitsOffset + 2, 2,
1173 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1174 // .operations_research.glop.GlopParameters glop = 14;
1175 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.glop_), _Internal::kHasBitsOffset + 3, 3,
1176 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1177 // .operations_research.sat.SatParameters cp_sat = 15;
1178 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.cp_sat_), _Internal::kHasBitsOffset + 4, 4,
1179 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1180 // .operations_research.pdlp.PrimalDualHybridGradientParams pdlp = 16;
1181 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.pdlp_), _Internal::kHasBitsOffset + 5, 5,
1182 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1183 // optional double relative_gap_tolerance = 17;
1184 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.relative_gap_tolerance_), _Internal::kHasBitsOffset + 18, 0,
1185 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1186 // optional double absolute_gap_tolerance = 18;
1187 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.absolute_gap_tolerance_), _Internal::kHasBitsOffset + 19, 0,
1188 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1189 // .operations_research.math_opt.OsqpSettingsProto osqp = 19;
1190 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.osqp_), _Internal::kHasBitsOffset + 6, 6,
1191 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1192 // optional double cutoff_limit = 20;
1193 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.cutoff_limit_), _Internal::kHasBitsOffset + 20, 0,
1194 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1195 // optional double objective_limit = 21;
1196 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.objective_limit_), _Internal::kHasBitsOffset + 21, 0,
1197 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1198 // optional double best_bound_limit = 22;
1199 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.best_bound_limit_), _Internal::kHasBitsOffset + 22, 0,
1200 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1201 // optional int32 solution_limit = 23;
1202 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.solution_limit_), _Internal::kHasBitsOffset + 24, 0,
1203 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1204 // optional int64 node_limit = 24;
1205 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.node_limit_), _Internal::kHasBitsOffset + 23, 0,
1206 (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1207 // optional int32 solution_pool_size = 25;
1208 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.solution_pool_size_), _Internal::kHasBitsOffset + 25, 0,
1209 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1210 // .operations_research.math_opt.GlpkParametersProto glpk = 26;
1211 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.glpk_), _Internal::kHasBitsOffset + 7, 7,
1212 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1213 // .operations_research.math_opt.HighsOptionsProto highs = 27;
1214 {PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.highs_), _Internal::kHasBitsOffset + 8, 8,
1215 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1216 }},
1217 {{
1218 {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()},
1219 {::_pbi::TcParser::GetTable<::operations_research::GScipParameters>()},
1220 {::_pbi::TcParser::GetTable<::operations_research::math_opt::GurobiParametersProto>()},
1221 {::_pbi::TcParser::GetTable<::operations_research::glop::GlopParameters>()},
1222 {::_pbi::TcParser::GetTable<::operations_research::sat::SatParameters>()},
1223 {::_pbi::TcParser::GetTable<::operations_research::pdlp::PrimalDualHybridGradientParams>()},
1224 {::_pbi::TcParser::GetTable<::operations_research::math_opt::OsqpSettingsProto>()},
1225 {::_pbi::TcParser::GetTable<::operations_research::math_opt::GlpkParametersProto>()},
1226 {::_pbi::TcParser::GetTable<::operations_research::math_opt::HighsOptionsProto>()},
1227 }},
1228 {{
1229 }},
1230};
1231PROTOBUF_NOINLINE void SolveParametersProto::Clear() {
1232// @@protoc_insertion_point(message_clear_start:operations_research.math_opt.SolveParametersProto)
1233 ::google::protobuf::internal::TSanWrite(&_impl_);
1234 ::uint32_t cached_has_bits = 0;
1235 // Prevent compiler warnings about cached_has_bits being unused
1236 (void) cached_has_bits;
1237
1238 cached_has_bits = _impl_._has_bits_[0];
1239 if ((cached_has_bits & 0x000000ffu) != 0) {
1240 if ((cached_has_bits & 0x00000001u) != 0) {
1241 ABSL_DCHECK(_impl_.time_limit_ != nullptr);
1242 _impl_.time_limit_->Clear();
1243 }
1244 if ((cached_has_bits & 0x00000002u) != 0) {
1245 ABSL_DCHECK(_impl_.gscip_ != nullptr);
1246 _impl_.gscip_->Clear();
1247 }
1248 if ((cached_has_bits & 0x00000004u) != 0) {
1249 ABSL_DCHECK(_impl_.gurobi_ != nullptr);
1250 _impl_.gurobi_->Clear();
1251 }
1252 if ((cached_has_bits & 0x00000008u) != 0) {
1253 ABSL_DCHECK(_impl_.glop_ != nullptr);
1254 _impl_.glop_->Clear();
1255 }
1256 if ((cached_has_bits & 0x00000010u) != 0) {
1257 ABSL_DCHECK(_impl_.cp_sat_ != nullptr);
1258 _impl_.cp_sat_->Clear();
1259 }
1260 if ((cached_has_bits & 0x00000020u) != 0) {
1261 ABSL_DCHECK(_impl_.pdlp_ != nullptr);
1262 _impl_.pdlp_->Clear();
1263 }
1264 if ((cached_has_bits & 0x00000040u) != 0) {
1265 ABSL_DCHECK(_impl_.osqp_ != nullptr);
1266 _impl_.osqp_->Clear();
1267 }
1268 if ((cached_has_bits & 0x00000080u) != 0) {
1269 ABSL_DCHECK(_impl_.glpk_ != nullptr);
1270 _impl_.glpk_->Clear();
1271 }
1272 }
1273 if ((cached_has_bits & 0x00000100u) != 0) {
1274 ABSL_DCHECK(_impl_.highs_ != nullptr);
1275 _impl_.highs_->Clear();
1276 }
1277 if ((cached_has_bits & 0x0000fe00u) != 0) {
1278 ::memset(&_impl_.iteration_limit_, 0, static_cast<::size_t>(
1279 reinterpret_cast<char*>(&_impl_.cuts_) -
1280 reinterpret_cast<char*>(&_impl_.iteration_limit_)) + sizeof(_impl_.cuts_));
1281 }
1282 if ((cached_has_bits & 0x00ff0000u) != 0) {
1283 ::memset(&_impl_.heuristics_, 0, static_cast<::size_t>(
1284 reinterpret_cast<char*>(&_impl_.node_limit_) -
1285 reinterpret_cast<char*>(&_impl_.heuristics_)) + sizeof(_impl_.node_limit_));
1286 }
1287 if ((cached_has_bits & 0x03000000u) != 0) {
1288 ::memset(&_impl_.solution_limit_, 0, static_cast<::size_t>(
1289 reinterpret_cast<char*>(&_impl_.solution_pool_size_) -
1290 reinterpret_cast<char*>(&_impl_.solution_limit_)) + sizeof(_impl_.solution_pool_size_));
1291 }
1292 _impl_._has_bits_.Clear();
1293 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1294}
1295
1296#if defined(PROTOBUF_CUSTOM_VTABLE)
1297::uint8_t* PROTOBUF_NONNULL SolveParametersProto::_InternalSerialize(
1298 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1299 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1300 const SolveParametersProto& this_ = static_cast<const SolveParametersProto&>(base);
1301#else // PROTOBUF_CUSTOM_VTABLE
1302::uint8_t* PROTOBUF_NONNULL SolveParametersProto::_InternalSerialize(
1303 ::uint8_t* PROTOBUF_NONNULL target,
1304 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1305 const SolveParametersProto& this_ = *this;
1306#endif // PROTOBUF_CUSTOM_VTABLE
1307 // @@protoc_insertion_point(serialize_to_array_start:operations_research.math_opt.SolveParametersProto)
1308 ::uint32_t cached_has_bits = 0;
1309 (void)cached_has_bits;
1310
1311 cached_has_bits = this_._impl_._has_bits_[0];
1312 // .google.protobuf.Duration time_limit = 1;
1313 if ((cached_has_bits & 0x00000001u) != 0) {
1314 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1315 1, *this_._impl_.time_limit_, this_._impl_.time_limit_->GetCachedSize(), target,
1316 stream);
1317 }
1318
1319 // optional int64 iteration_limit = 2;
1320 if ((cached_has_bits & 0x00000200u) != 0) {
1321 target =
1322 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
1323 stream, this_._internal_iteration_limit(), target);
1324 }
1325
1326 // bool enable_output = 3;
1327 if ((cached_has_bits & 0x00000400u) != 0) {
1328 if (this_._internal_enable_output() != 0) {
1329 target = stream->EnsureSpace(target);
1330 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1331 3, this_._internal_enable_output(), target);
1332 }
1333 }
1334
1335 // optional int32 threads = 4;
1336 if ((cached_has_bits & 0x00000800u) != 0) {
1337 target =
1338 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
1339 stream, this_._internal_threads(), target);
1340 }
1341
1342 // optional int32 random_seed = 5;
1343 if ((cached_has_bits & 0x00001000u) != 0) {
1344 target =
1345 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
1346 stream, this_._internal_random_seed(), target);
1347 }
1348
1349 // .operations_research.math_opt.LPAlgorithmProto lp_algorithm = 6;
1350 if ((cached_has_bits & 0x00002000u) != 0) {
1351 if (this_._internal_lp_algorithm() != 0) {
1352 target = stream->EnsureSpace(target);
1353 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1354 6, this_._internal_lp_algorithm(), target);
1355 }
1356 }
1357
1358 // .operations_research.math_opt.EmphasisProto presolve = 7;
1359 if ((cached_has_bits & 0x00004000u) != 0) {
1360 if (this_._internal_presolve() != 0) {
1361 target = stream->EnsureSpace(target);
1362 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1363 7, this_._internal_presolve(), target);
1364 }
1365 }
1366
1367 // .operations_research.math_opt.EmphasisProto cuts = 8;
1368 if ((cached_has_bits & 0x00008000u) != 0) {
1369 if (this_._internal_cuts() != 0) {
1370 target = stream->EnsureSpace(target);
1371 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1372 8, this_._internal_cuts(), target);
1373 }
1374 }
1375
1376 // .operations_research.math_opt.EmphasisProto heuristics = 9;
1377 if ((cached_has_bits & 0x00010000u) != 0) {
1378 if (this_._internal_heuristics() != 0) {
1379 target = stream->EnsureSpace(target);
1380 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1381 9, this_._internal_heuristics(), target);
1382 }
1383 }
1384
1385 // .operations_research.math_opt.EmphasisProto scaling = 10;
1386 if ((cached_has_bits & 0x00020000u) != 0) {
1387 if (this_._internal_scaling() != 0) {
1388 target = stream->EnsureSpace(target);
1389 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1390 10, this_._internal_scaling(), target);
1391 }
1392 }
1393
1394 // .operations_research.GScipParameters gscip = 12;
1395 if ((cached_has_bits & 0x00000002u) != 0) {
1396 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1397 12, *this_._impl_.gscip_, this_._impl_.gscip_->GetCachedSize(), target,
1398 stream);
1399 }
1400
1401 // .operations_research.math_opt.GurobiParametersProto gurobi = 13;
1402 if ((cached_has_bits & 0x00000004u) != 0) {
1403 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1404 13, *this_._impl_.gurobi_, this_._impl_.gurobi_->GetCachedSize(), target,
1405 stream);
1406 }
1407
1408 // .operations_research.glop.GlopParameters glop = 14;
1409 if ((cached_has_bits & 0x00000008u) != 0) {
1410 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1411 14, *this_._impl_.glop_, this_._impl_.glop_->GetCachedSize(), target,
1412 stream);
1413 }
1414
1415 // .operations_research.sat.SatParameters cp_sat = 15;
1416 if ((cached_has_bits & 0x00000010u) != 0) {
1417 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1418 15, *this_._impl_.cp_sat_, this_._impl_.cp_sat_->GetCachedSize(), target,
1419 stream);
1420 }
1421
1422 // .operations_research.pdlp.PrimalDualHybridGradientParams pdlp = 16;
1423 if ((cached_has_bits & 0x00000020u) != 0) {
1424 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1425 16, *this_._impl_.pdlp_, this_._impl_.pdlp_->GetCachedSize(), target,
1426 stream);
1427 }
1428
1429 // optional double relative_gap_tolerance = 17;
1430 if ((cached_has_bits & 0x00040000u) != 0) {
1431 target = stream->EnsureSpace(target);
1432 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1433 17, this_._internal_relative_gap_tolerance(), target);
1434 }
1435
1436 // optional double absolute_gap_tolerance = 18;
1437 if ((cached_has_bits & 0x00080000u) != 0) {
1438 target = stream->EnsureSpace(target);
1439 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1440 18, this_._internal_absolute_gap_tolerance(), target);
1441 }
1442
1443 // .operations_research.math_opt.OsqpSettingsProto osqp = 19;
1444 if ((cached_has_bits & 0x00000040u) != 0) {
1445 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1446 19, *this_._impl_.osqp_, this_._impl_.osqp_->GetCachedSize(), target,
1447 stream);
1448 }
1449
1450 // optional double cutoff_limit = 20;
1451 if ((cached_has_bits & 0x00100000u) != 0) {
1452 target = stream->EnsureSpace(target);
1453 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1454 20, this_._internal_cutoff_limit(), target);
1455 }
1456
1457 // optional double objective_limit = 21;
1458 if ((cached_has_bits & 0x00200000u) != 0) {
1459 target = stream->EnsureSpace(target);
1460 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1461 21, this_._internal_objective_limit(), target);
1462 }
1463
1464 // optional double best_bound_limit = 22;
1465 if ((cached_has_bits & 0x00400000u) != 0) {
1466 target = stream->EnsureSpace(target);
1467 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1468 22, this_._internal_best_bound_limit(), target);
1469 }
1470
1471 // optional int32 solution_limit = 23;
1472 if ((cached_has_bits & 0x01000000u) != 0) {
1473 target = stream->EnsureSpace(target);
1474 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1475 23, this_._internal_solution_limit(), target);
1476 }
1477
1478 // optional int64 node_limit = 24;
1479 if ((cached_has_bits & 0x00800000u) != 0) {
1480 target = stream->EnsureSpace(target);
1481 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
1482 24, this_._internal_node_limit(), target);
1483 }
1484
1485 // optional int32 solution_pool_size = 25;
1486 if ((cached_has_bits & 0x02000000u) != 0) {
1487 target = stream->EnsureSpace(target);
1488 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1489 25, this_._internal_solution_pool_size(), target);
1490 }
1491
1492 // .operations_research.math_opt.GlpkParametersProto glpk = 26;
1493 if ((cached_has_bits & 0x00000080u) != 0) {
1494 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1495 26, *this_._impl_.glpk_, this_._impl_.glpk_->GetCachedSize(), target,
1496 stream);
1497 }
1498
1499 // .operations_research.math_opt.HighsOptionsProto highs = 27;
1500 if ((cached_has_bits & 0x00000100u) != 0) {
1501 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1502 27, *this_._impl_.highs_, this_._impl_.highs_->GetCachedSize(), target,
1503 stream);
1504 }
1505
1506 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1507 target =
1508 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1509 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1510 }
1511 // @@protoc_insertion_point(serialize_to_array_end:operations_research.math_opt.SolveParametersProto)
1512 return target;
1513}
1514
1515#if defined(PROTOBUF_CUSTOM_VTABLE)
1516::size_t SolveParametersProto::ByteSizeLong(const MessageLite& base) {
1517 const SolveParametersProto& this_ = static_cast<const SolveParametersProto&>(base);
1518#else // PROTOBUF_CUSTOM_VTABLE
1519::size_t SolveParametersProto::ByteSizeLong() const {
1520 const SolveParametersProto& this_ = *this;
1521#endif // PROTOBUF_CUSTOM_VTABLE
1522 // @@protoc_insertion_point(message_byte_size_start:operations_research.math_opt.SolveParametersProto)
1523 ::size_t total_size = 0;
1524
1525 ::uint32_t cached_has_bits = 0;
1526 // Prevent compiler warnings about cached_has_bits being unused
1527 (void)cached_has_bits;
1528
1529 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1530 cached_has_bits = this_._impl_._has_bits_[0];
1531 total_size += ::absl::popcount(0x007c0000u & cached_has_bits) * 10;
1532 if ((cached_has_bits & 0x000000ffu) != 0) {
1533 // .google.protobuf.Duration time_limit = 1;
1534 if ((cached_has_bits & 0x00000001u) != 0) {
1535 total_size += 1 +
1536 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.time_limit_);
1537 }
1538 // .operations_research.GScipParameters gscip = 12;
1539 if ((cached_has_bits & 0x00000002u) != 0) {
1540 total_size += 1 +
1541 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.gscip_);
1542 }
1543 // .operations_research.math_opt.GurobiParametersProto gurobi = 13;
1544 if ((cached_has_bits & 0x00000004u) != 0) {
1545 total_size += 1 +
1546 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.gurobi_);
1547 }
1548 // .operations_research.glop.GlopParameters glop = 14;
1549 if ((cached_has_bits & 0x00000008u) != 0) {
1550 total_size += 1 +
1551 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.glop_);
1552 }
1553 // .operations_research.sat.SatParameters cp_sat = 15;
1554 if ((cached_has_bits & 0x00000010u) != 0) {
1555 total_size += 1 +
1556 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cp_sat_);
1557 }
1558 // .operations_research.pdlp.PrimalDualHybridGradientParams pdlp = 16;
1559 if ((cached_has_bits & 0x00000020u) != 0) {
1560 total_size += 2 +
1561 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.pdlp_);
1562 }
1563 // .operations_research.math_opt.OsqpSettingsProto osqp = 19;
1564 if ((cached_has_bits & 0x00000040u) != 0) {
1565 total_size += 2 +
1566 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.osqp_);
1567 }
1568 // .operations_research.math_opt.GlpkParametersProto glpk = 26;
1569 if ((cached_has_bits & 0x00000080u) != 0) {
1570 total_size += 2 +
1571 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.glpk_);
1572 }
1573 }
1574 if ((cached_has_bits & 0x0000ff00u) != 0) {
1575 // .operations_research.math_opt.HighsOptionsProto highs = 27;
1576 if ((cached_has_bits & 0x00000100u) != 0) {
1577 total_size += 2 +
1578 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.highs_);
1579 }
1580 // optional int64 iteration_limit = 2;
1581 if ((cached_has_bits & 0x00000200u) != 0) {
1582 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
1583 this_._internal_iteration_limit());
1584 }
1585 // bool enable_output = 3;
1586 if ((cached_has_bits & 0x00000400u) != 0) {
1587 if (this_._internal_enable_output() != 0) {
1588 total_size += 2;
1589 }
1590 }
1591 // optional int32 threads = 4;
1592 if ((cached_has_bits & 0x00000800u) != 0) {
1593 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1594 this_._internal_threads());
1595 }
1596 // optional int32 random_seed = 5;
1597 if ((cached_has_bits & 0x00001000u) != 0) {
1598 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1599 this_._internal_random_seed());
1600 }
1601 // .operations_research.math_opt.LPAlgorithmProto lp_algorithm = 6;
1602 if ((cached_has_bits & 0x00002000u) != 0) {
1603 if (this_._internal_lp_algorithm() != 0) {
1604 total_size += 1 +
1605 ::_pbi::WireFormatLite::EnumSize(this_._internal_lp_algorithm());
1606 }
1607 }
1608 // .operations_research.math_opt.EmphasisProto presolve = 7;
1609 if ((cached_has_bits & 0x00004000u) != 0) {
1610 if (this_._internal_presolve() != 0) {
1611 total_size += 1 +
1612 ::_pbi::WireFormatLite::EnumSize(this_._internal_presolve());
1613 }
1614 }
1615 // .operations_research.math_opt.EmphasisProto cuts = 8;
1616 if ((cached_has_bits & 0x00008000u) != 0) {
1617 if (this_._internal_cuts() != 0) {
1618 total_size += 1 +
1619 ::_pbi::WireFormatLite::EnumSize(this_._internal_cuts());
1620 }
1621 }
1622 }
1623 if ((cached_has_bits & 0x00830000u) != 0) {
1624 // .operations_research.math_opt.EmphasisProto heuristics = 9;
1625 if ((cached_has_bits & 0x00010000u) != 0) {
1626 if (this_._internal_heuristics() != 0) {
1627 total_size += 1 +
1628 ::_pbi::WireFormatLite::EnumSize(this_._internal_heuristics());
1629 }
1630 }
1631 // .operations_research.math_opt.EmphasisProto scaling = 10;
1632 if ((cached_has_bits & 0x00020000u) != 0) {
1633 if (this_._internal_scaling() != 0) {
1634 total_size += 1 +
1635 ::_pbi::WireFormatLite::EnumSize(this_._internal_scaling());
1636 }
1637 }
1638 // optional int64 node_limit = 24;
1639 if ((cached_has_bits & 0x00800000u) != 0) {
1640 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
1641 this_._internal_node_limit());
1642 }
1643 }
1644 if ((cached_has_bits & 0x03000000u) != 0) {
1645 // optional int32 solution_limit = 23;
1646 if ((cached_has_bits & 0x01000000u) != 0) {
1647 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1648 this_._internal_solution_limit());
1649 }
1650 // optional int32 solution_pool_size = 25;
1651 if ((cached_has_bits & 0x02000000u) != 0) {
1652 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1653 this_._internal_solution_pool_size());
1654 }
1655 }
1656 return this_.MaybeComputeUnknownFieldsSize(total_size,
1657 &this_._impl_._cached_size_);
1658}
1659
1660void SolveParametersProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1661 auto* const _this = static_cast<SolveParametersProto*>(&to_msg);
1662 auto& from = static_cast<const SolveParametersProto&>(from_msg);
1663 ::google::protobuf::Arena* arena = _this->GetArena();
1664 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.math_opt.SolveParametersProto)
1665 ABSL_DCHECK_NE(&from, _this);
1666 ::uint32_t cached_has_bits = 0;
1667 (void) cached_has_bits;
1668
1669 cached_has_bits = from._impl_._has_bits_[0];
1670 if ((cached_has_bits & 0x000000ffu) != 0) {
1671 if ((cached_has_bits & 0x00000001u) != 0) {
1672 ABSL_DCHECK(from._impl_.time_limit_ != nullptr);
1673 if (_this->_impl_.time_limit_ == nullptr) {
1674 _this->_impl_.time_limit_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.time_limit_);
1675 } else {
1676 _this->_impl_.time_limit_->MergeFrom(*from._impl_.time_limit_);
1677 }
1678 }
1679 if ((cached_has_bits & 0x00000002u) != 0) {
1680 ABSL_DCHECK(from._impl_.gscip_ != nullptr);
1681 if (_this->_impl_.gscip_ == nullptr) {
1682 _this->_impl_.gscip_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.gscip_);
1683 } else {
1684 _this->_impl_.gscip_->MergeFrom(*from._impl_.gscip_);
1685 }
1686 }
1687 if ((cached_has_bits & 0x00000004u) != 0) {
1688 ABSL_DCHECK(from._impl_.gurobi_ != nullptr);
1689 if (_this->_impl_.gurobi_ == nullptr) {
1690 _this->_impl_.gurobi_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.gurobi_);
1691 } else {
1692 _this->_impl_.gurobi_->MergeFrom(*from._impl_.gurobi_);
1693 }
1694 }
1695 if ((cached_has_bits & 0x00000008u) != 0) {
1696 ABSL_DCHECK(from._impl_.glop_ != nullptr);
1697 if (_this->_impl_.glop_ == nullptr) {
1698 _this->_impl_.glop_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.glop_);
1699 } else {
1700 _this->_impl_.glop_->MergeFrom(*from._impl_.glop_);
1701 }
1702 }
1703 if ((cached_has_bits & 0x00000010u) != 0) {
1704 ABSL_DCHECK(from._impl_.cp_sat_ != nullptr);
1705 if (_this->_impl_.cp_sat_ == nullptr) {
1706 _this->_impl_.cp_sat_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.cp_sat_);
1707 } else {
1708 _this->_impl_.cp_sat_->MergeFrom(*from._impl_.cp_sat_);
1709 }
1710 }
1711 if ((cached_has_bits & 0x00000020u) != 0) {
1712 ABSL_DCHECK(from._impl_.pdlp_ != nullptr);
1713 if (_this->_impl_.pdlp_ == nullptr) {
1714 _this->_impl_.pdlp_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.pdlp_);
1715 } else {
1716 _this->_impl_.pdlp_->MergeFrom(*from._impl_.pdlp_);
1717 }
1718 }
1719 if ((cached_has_bits & 0x00000040u) != 0) {
1720 ABSL_DCHECK(from._impl_.osqp_ != nullptr);
1721 if (_this->_impl_.osqp_ == nullptr) {
1722 _this->_impl_.osqp_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.osqp_);
1723 } else {
1724 _this->_impl_.osqp_->MergeFrom(*from._impl_.osqp_);
1725 }
1726 }
1727 if ((cached_has_bits & 0x00000080u) != 0) {
1728 ABSL_DCHECK(from._impl_.glpk_ != nullptr);
1729 if (_this->_impl_.glpk_ == nullptr) {
1730 _this->_impl_.glpk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.glpk_);
1731 } else {
1732 _this->_impl_.glpk_->MergeFrom(*from._impl_.glpk_);
1733 }
1734 }
1735 }
1736 if ((cached_has_bits & 0x0000ff00u) != 0) {
1737 if ((cached_has_bits & 0x00000100u) != 0) {
1738 ABSL_DCHECK(from._impl_.highs_ != nullptr);
1739 if (_this->_impl_.highs_ == nullptr) {
1740 _this->_impl_.highs_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.highs_);
1741 } else {
1742 _this->_impl_.highs_->MergeFrom(*from._impl_.highs_);
1743 }
1744 }
1745 if ((cached_has_bits & 0x00000200u) != 0) {
1746 _this->_impl_.iteration_limit_ = from._impl_.iteration_limit_;
1747 }
1748 if ((cached_has_bits & 0x00000400u) != 0) {
1749 if (from._internal_enable_output() != 0) {
1750 _this->_impl_.enable_output_ = from._impl_.enable_output_;
1751 }
1752 }
1753 if ((cached_has_bits & 0x00000800u) != 0) {
1754 _this->_impl_.threads_ = from._impl_.threads_;
1755 }
1756 if ((cached_has_bits & 0x00001000u) != 0) {
1757 _this->_impl_.random_seed_ = from._impl_.random_seed_;
1758 }
1759 if ((cached_has_bits & 0x00002000u) != 0) {
1760 if (from._internal_lp_algorithm() != 0) {
1761 _this->_impl_.lp_algorithm_ = from._impl_.lp_algorithm_;
1762 }
1763 }
1764 if ((cached_has_bits & 0x00004000u) != 0) {
1765 if (from._internal_presolve() != 0) {
1766 _this->_impl_.presolve_ = from._impl_.presolve_;
1767 }
1768 }
1769 if ((cached_has_bits & 0x00008000u) != 0) {
1770 if (from._internal_cuts() != 0) {
1771 _this->_impl_.cuts_ = from._impl_.cuts_;
1772 }
1773 }
1774 }
1775 if ((cached_has_bits & 0x00ff0000u) != 0) {
1776 if ((cached_has_bits & 0x00010000u) != 0) {
1777 if (from._internal_heuristics() != 0) {
1778 _this->_impl_.heuristics_ = from._impl_.heuristics_;
1779 }
1780 }
1781 if ((cached_has_bits & 0x00020000u) != 0) {
1782 if (from._internal_scaling() != 0) {
1783 _this->_impl_.scaling_ = from._impl_.scaling_;
1784 }
1785 }
1786 if ((cached_has_bits & 0x00040000u) != 0) {
1787 _this->_impl_.relative_gap_tolerance_ = from._impl_.relative_gap_tolerance_;
1788 }
1789 if ((cached_has_bits & 0x00080000u) != 0) {
1790 _this->_impl_.absolute_gap_tolerance_ = from._impl_.absolute_gap_tolerance_;
1791 }
1792 if ((cached_has_bits & 0x00100000u) != 0) {
1793 _this->_impl_.cutoff_limit_ = from._impl_.cutoff_limit_;
1794 }
1795 if ((cached_has_bits & 0x00200000u) != 0) {
1796 _this->_impl_.objective_limit_ = from._impl_.objective_limit_;
1797 }
1798 if ((cached_has_bits & 0x00400000u) != 0) {
1799 _this->_impl_.best_bound_limit_ = from._impl_.best_bound_limit_;
1800 }
1801 if ((cached_has_bits & 0x00800000u) != 0) {
1802 _this->_impl_.node_limit_ = from._impl_.node_limit_;
1803 }
1804 }
1805 if ((cached_has_bits & 0x03000000u) != 0) {
1806 if ((cached_has_bits & 0x01000000u) != 0) {
1807 _this->_impl_.solution_limit_ = from._impl_.solution_limit_;
1808 }
1809 if ((cached_has_bits & 0x02000000u) != 0) {
1810 _this->_impl_.solution_pool_size_ = from._impl_.solution_pool_size_;
1811 }
1812 }
1813 _this->_impl_._has_bits_[0] |= cached_has_bits;
1814 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1815}
1816
1818// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.math_opt.SolveParametersProto)
1819 if (&from == this) return;
1821 MergeFrom(from);
1822}
1823
1824
1825void SolveParametersProto::InternalSwap(SolveParametersProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1826 using ::std::swap;
1827 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1828 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1829 ::google::protobuf::internal::memswap<
1830 PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.solution_pool_size_)
1831 + sizeof(SolveParametersProto::_impl_.solution_pool_size_)
1832 - PROTOBUF_FIELD_OFFSET(SolveParametersProto, _impl_.time_limit_)>(
1833 reinterpret_cast<char*>(&_impl_.time_limit_),
1834 reinterpret_cast<char*>(&other->_impl_.time_limit_));
1835}
1836
1837::google::protobuf::Metadata SolveParametersProto::GetMetadata() const {
1838 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1839}
1840// @@protoc_insertion_point(namespace_scope)
1841} // namespace math_opt
1842} // namespace operations_research
1843namespace google {
1844namespace protobuf {
1845} // namespace protobuf
1846} // namespace google
1847// @@protoc_insertion_point(global_scope)
1848PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1849 _static_init2_ [[maybe_unused]] =
1851 ::std::false_type{});
1852#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
@protoc_insertion_point(global_scope)
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition highs.pb.cc:828
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(SolveParametersProto &a, SolveParametersProto &b)
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const SolveParametersProto &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const SolveParametersProto &from)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
decltype(::std::declval< SolverInitializerProto >()._impl_._has_bits_) HasBits
::google::protobuf::Metadata GetMetadata() const
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void CopyFrom(const SolverInitializerProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const SolverInitializerProto &from)
decltype(::std::declval< StrictnessProto >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(StrictnessProto &a, StrictnessProto &b)
void MergeFrom(const StrictnessProto &from)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const StrictnessProto &from)
const ::uint32_t TableStruct_ortools_2fglop_2fparameters_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fmath_5fopt_2fsolvers_2fglpk_2eproto
Definition glpk.pb.cc:86
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fgscip_2fgscip_2eproto
Definition gscip.pb.cc:460
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fmath_5fopt_2fsolvers_2fgurobi_2eproto
Definition gurobi.pb.cc:207
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fmath_5fopt_2fsolvers_2fhighs_2eproto
Definition highs.pb.cc:210
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fmath_5fopt_2fparameters_2eproto
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fmath_5fopt_2fparameters_2eproto[3]
::absl::once_flag descriptor_table_ortools_2fmath_5fopt_2fparameters_2eproto_once
static const ::_pbi::DescriptorTable *PROTOBUF_NONNULL const descriptor_table_ortools_2fmath_5fopt_2fparameters_2eproto_deps[9]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fmath_5fopt_2fparameters_2eproto
An object oriented wrapper for quadratic constraints in ModelStorage.
Definition gurobi_isv.cc:28
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SolveParametersProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SolverInitializerProtoDefaultTypeInternal _SolverInitializerProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SolveParametersProtoDefaultTypeInternal _SolveParametersProto_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL EmphasisProto_descriptor()
PROTOBUF_CONSTINIT const uint32_t EmphasisProto_internal_data_[]
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL LPAlgorithmProto_descriptor()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SolverTypeProto_descriptor()
PROTOBUF_CONSTINIT const uint32_t LPAlgorithmProto_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SolverInitializerProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull StrictnessProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StrictnessProtoDefaultTypeInternal _StrictnessProto_default_instance_
PROTOBUF_CONSTINIT const uint32_t SolverTypeProto_internal_data_[]
In SWIG mode, we don't want anything besides these top-level includes.
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fmath_5fopt_2fsolvers_2fosqp_2eproto
Definition osqp.pb.cc:199
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fpdlp_2fsolvers_2eproto