8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
18 PROTOBUF_PRAGMA_INIT_SEG
21 constexpr LinearBooleanConstraint::LinearBooleanConstraint(
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
25 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
26 , lower_bound_(PROTOBUF_LONGLONG(0))
27 , upper_bound_(PROTOBUF_LONGLONG(0)){}
30 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
37 constexpr LinearObjective::LinearObjective(
38 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
42 , scaling_factor_(1){}
45 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
52 constexpr BooleanAssignment::BooleanAssignment(
53 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
57 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
64 constexpr LinearBooleanProblem::LinearBooleanProblem(
65 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
68 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
70 , assignment_(nullptr)
72 , original_num_variables_(0){}
75 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
89 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _has_bits_),
90 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _internal_metadata_),
94 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, literals_),
95 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, coefficients_),
96 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, lower_bound_),
97 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, upper_bound_),
98 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, name_),
104 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _has_bits_),
105 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _internal_metadata_),
109 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, literals_),
110 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, coefficients_),
111 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective,
offset_),
112 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, scaling_factor_),
118 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, _internal_metadata_),
122 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, literals_),
123 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _has_bits_),
124 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _internal_metadata_),
128 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, name_),
129 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, num_variables_),
130 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, constraints_),
131 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem,
objective_),
132 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, var_names_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, assignment_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, original_num_variables_),
144 { 0, 10,
sizeof(::operations_research::sat::LinearBooleanConstraint)},
145 { 15, 24,
sizeof(::operations_research::sat::LinearObjective)},
146 { 28, -1,
sizeof(::operations_research::sat::BooleanAssignment)},
147 { 34, 46,
sizeof(::operations_research::sat::LinearBooleanProblem)},
157 const char descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
158 "\n!ortools/sat/boolean_problem.proto\022\027ope"
159 "rations_research.sat\"{\n\027LinearBooleanCon"
160 "straint\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficient"
161 "s\030\002 \003(\003\022\023\n\013lower_bound\030\003 \001(\003\022\023\n\013upper_bo"
162 "und\030\004 \001(\003\022\016\n\004name\030\005 \001(\t:\000\"g\n\017LinearObjec"
163 "tive\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficients\030\002"
164 " \003(\003\022\021\n\006offset\030\003 \001(\001:\0010\022\031\n\016scaling_facto"
165 "r\030\004 \001(\001:\0011\"%\n\021BooleanAssignment\022\020\n\010liter"
166 "als\030\001 \003(\005\"\264\002\n\024LinearBooleanProblem\022\016\n\004na"
167 "me\030\001 \001(\t:\000\022\025\n\rnum_variables\030\003 \001(\005\022E\n\013con"
168 "straints\030\004 \003(\01320.operations_research.sat"
169 ".LinearBooleanConstraint\022;\n\tobjective\030\005 "
170 "\001(\0132(.operations_research.sat.LinearObje"
171 "ctive\022\021\n\tvar_names\030\006 \003(\t\022>\n\nassignment\030\007"
172 " \001(\0132*.operations_research.sat.BooleanAs"
173 "signment\022\036\n\026original_num_variables\030\010 \001(\005"
174 "B/\n\026com.google.ortools.satP\001\252\002\022Google.Or"
179 false,
false, 689, descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto,
"ortools/sat/boolean_problem.proto",
184 PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata
199 using HasBits = decltype(std::declval<LinearBooleanConstraint>()._has_bits_);
201 (*has_bits)[0] |= 2u;
204 (*has_bits)[0] |= 4u;
207 (*has_bits)[0] |= 1u;
211 LinearBooleanConstraint::LinearBooleanConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
212 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
214 coefficients_(arena) {
216 RegisterArenaDtor(arena);
219 LinearBooleanConstraint::LinearBooleanConstraint(
const LinearBooleanConstraint& from)
220 : ::PROTOBUF_NAMESPACE_ID::Message(),
221 _has_bits_(from._has_bits_),
222 literals_(from.literals_),
223 coefficients_(from.coefficients_) {
224 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
225 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
226 if (from._internal_has_name()) {
227 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
230 ::memcpy(&lower_bound_, &from.lower_bound_,
231 static_cast<size_t>(
reinterpret_cast<char*
>(&upper_bound_) -
232 reinterpret_cast<char*
>(&lower_bound_)) +
sizeof(upper_bound_));
236 void LinearBooleanConstraint::SharedCtor() {
237 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
238 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
239 reinterpret_cast<char*
>(&lower_bound_) -
reinterpret_cast<char*
>(
this)),
240 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&upper_bound_) -
241 reinterpret_cast<char*
>(&lower_bound_)) +
sizeof(upper_bound_));
244 LinearBooleanConstraint::~LinearBooleanConstraint() {
247 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
250 void LinearBooleanConstraint::SharedDtor() {
251 GOOGLE_DCHECK(GetArena() ==
nullptr);
252 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
255 void LinearBooleanConstraint::ArenaDtor(
void*
object) {
256 LinearBooleanConstraint* _this =
reinterpret_cast< LinearBooleanConstraint*
>(object);
259 void LinearBooleanConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
261 void LinearBooleanConstraint::SetCachedSize(
int size)
const {
262 _cached_size_.Set(size);
265 void LinearBooleanConstraint::Clear() {
267 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
269 (void) cached_has_bits;
272 coefficients_.Clear();
273 cached_has_bits = _has_bits_[0];
274 if (cached_has_bits & 0x00000001u) {
275 name_.ClearNonDefaultToEmpty();
277 if (cached_has_bits & 0x00000006u) {
278 ::memset(&lower_bound_, 0,
static_cast<size_t>(
279 reinterpret_cast<char*
>(&upper_bound_) -
280 reinterpret_cast<char*
>(&lower_bound_)) +
sizeof(upper_bound_));
283 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
286 const char* LinearBooleanConstraint::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
287 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
289 while (!ctx->Done(&ptr)) {
290 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
291 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
296 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
300 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
302 if (!ctx->DataAvailable(ptr))
break;
303 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
304 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 10) {
305 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
307 }
else goto handle_unusual;
311 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
315 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
317 if (!ctx->DataAvailable(ptr))
break;
318 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
319 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 18) {
320 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
322 }
else goto handle_unusual;
326 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
328 lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
330 }
else goto handle_unusual;
334 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
336 upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
338 }
else goto handle_unusual;
342 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 42)) {
343 auto str = _internal_mutable_name();
344 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
346 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanConstraint.name");
349 }
else goto handle_unusual;
353 if ((tag & 7) == 4 || tag == 0) {
354 ctx->SetLastTag(tag);
357 ptr = UnknownFieldParse(tag,
358 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
360 CHK_(ptr !=
nullptr);
366 _has_bits_.Or(has_bits);
374 ::PROTOBUF_NAMESPACE_ID::uint8* LinearBooleanConstraint::_InternalSerialize(
375 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
377 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
378 (void) cached_has_bits;
381 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
382 target = stream->EnsureSpace(target);
383 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
387 for (
int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
388 target = stream->EnsureSpace(target);
389 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
392 cached_has_bits = _has_bits_[0];
394 if (cached_has_bits & 0x00000002u) {
395 target = stream->EnsureSpace(target);
396 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_lower_bound(), target);
400 if (cached_has_bits & 0x00000004u) {
401 target = stream->EnsureSpace(target);
402 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_upper_bound(), target);
406 if (cached_has_bits & 0x00000001u) {
407 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
408 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
409 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
410 "operations_research.sat.LinearBooleanConstraint.name");
411 target = stream->WriteStringMaybeAliased(
412 5, this->_internal_name(), target);
415 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
416 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
417 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
423 size_t LinearBooleanConstraint::ByteSizeLong()
const {
425 size_t total_size = 0;
427 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
429 (void) cached_has_bits;
433 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
434 Int32Size(this->literals_);
436 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
437 total_size += data_size;
442 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
443 Int64Size(this->coefficients_);
445 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
446 total_size += data_size;
449 cached_has_bits = _has_bits_[0];
450 if (cached_has_bits & 0x00000007u) {
452 if (cached_has_bits & 0x00000001u) {
454 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
455 this->_internal_name());
459 if (cached_has_bits & 0x00000002u) {
461 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
462 this->_internal_lower_bound());
466 if (cached_has_bits & 0x00000004u) {
468 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
469 this->_internal_upper_bound());
473 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
474 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
475 _internal_metadata_, total_size, &_cached_size_);
477 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
478 SetCachedSize(cached_size);
482 void LinearBooleanConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
484 GOOGLE_DCHECK_NE(&from,
this);
485 const LinearBooleanConstraint* source =
486 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearBooleanConstraint>(
488 if (source ==
nullptr) {
490 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
497 void LinearBooleanConstraint::MergeFrom(
const LinearBooleanConstraint& from) {
499 GOOGLE_DCHECK_NE(&from,
this);
500 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
501 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
502 (void) cached_has_bits;
504 literals_.MergeFrom(from.literals_);
505 coefficients_.MergeFrom(from.coefficients_);
506 cached_has_bits = from._has_bits_[0];
507 if (cached_has_bits & 0x00000007u) {
508 if (cached_has_bits & 0x00000001u) {
509 _internal_set_name(from._internal_name());
511 if (cached_has_bits & 0x00000002u) {
512 lower_bound_ = from.lower_bound_;
514 if (cached_has_bits & 0x00000004u) {
515 upper_bound_ = from.upper_bound_;
517 _has_bits_[0] |= cached_has_bits;
521 void LinearBooleanConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
523 if (&from ==
this)
return;
528 void LinearBooleanConstraint::CopyFrom(
const LinearBooleanConstraint& from) {
530 if (&from ==
this)
return;
535 bool LinearBooleanConstraint::IsInitialized()
const {
539 void LinearBooleanConstraint::InternalSwap(LinearBooleanConstraint* other) {
541 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
542 swap(_has_bits_[0], other->_has_bits_[0]);
543 literals_.InternalSwap(&other->literals_);
544 coefficients_.InternalSwap(&other->coefficients_);
545 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
546 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
547 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, upper_bound_)
548 +
sizeof(LinearBooleanConstraint::upper_bound_)
549 - PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, lower_bound_)>(
550 reinterpret_cast<char*
>(&lower_bound_),
551 reinterpret_cast<char*
>(&other->lower_bound_));
554 ::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanConstraint::GetMetadata()
const {
555 return GetMetadataStatic();
563 using HasBits = decltype(std::declval<LinearObjective>()._has_bits_);
565 (*has_bits)[0] |= 1u;
568 (*has_bits)[0] |= 2u;
572 LinearObjective::LinearObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena)
573 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
575 coefficients_(arena) {
577 RegisterArenaDtor(arena);
580 LinearObjective::LinearObjective(
const LinearObjective& from)
581 : ::PROTOBUF_NAMESPACE_ID::Message(),
582 _has_bits_(from._has_bits_),
583 literals_(from.literals_),
584 coefficients_(from.coefficients_) {
585 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
586 ::memcpy(&
offset_, &from.offset_,
587 static_cast<size_t>(
reinterpret_cast<char*
>(&scaling_factor_) -
588 reinterpret_cast<char*
>(&
offset_)) +
sizeof(scaling_factor_));
592 void LinearObjective::SharedCtor() {
597 LinearObjective::~LinearObjective() {
600 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
603 void LinearObjective::SharedDtor() {
604 GOOGLE_DCHECK(GetArena() ==
nullptr);
607 void LinearObjective::ArenaDtor(
void*
object) {
608 LinearObjective* _this =
reinterpret_cast< LinearObjective*
>(object);
611 void LinearObjective::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
613 void LinearObjective::SetCachedSize(
int size)
const {
614 _cached_size_.Set(size);
617 void LinearObjective::Clear() {
619 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
621 (void) cached_has_bits;
624 coefficients_.Clear();
625 cached_has_bits = _has_bits_[0];
626 if (cached_has_bits & 0x00000003u) {
631 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
634 const char* LinearObjective::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
635 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
637 while (!ctx->Done(&ptr)) {
638 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
639 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
644 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
648 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
650 if (!ctx->DataAvailable(ptr))
break;
651 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
652 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 10) {
653 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
655 }
else goto handle_unusual;
659 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
663 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
665 if (!ctx->DataAvailable(ptr))
break;
666 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
667 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 18) {
668 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
670 }
else goto handle_unusual;
674 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 25)) {
676 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
677 ptr +=
sizeof(double);
678 }
else goto handle_unusual;
682 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 33)) {
684 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
685 ptr +=
sizeof(double);
686 }
else goto handle_unusual;
690 if ((tag & 7) == 4 || tag == 0) {
691 ctx->SetLastTag(tag);
694 ptr = UnknownFieldParse(tag,
695 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
697 CHK_(ptr !=
nullptr);
703 _has_bits_.Or(has_bits);
711 ::PROTOBUF_NAMESPACE_ID::uint8* LinearObjective::_InternalSerialize(
712 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
714 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
715 (void) cached_has_bits;
718 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
719 target = stream->EnsureSpace(target);
720 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
724 for (
int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
725 target = stream->EnsureSpace(target);
726 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
729 cached_has_bits = _has_bits_[0];
731 if (cached_has_bits & 0x00000001u) {
732 target = stream->EnsureSpace(target);
733 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_offset(), target);
737 if (cached_has_bits & 0x00000002u) {
738 target = stream->EnsureSpace(target);
739 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_scaling_factor(), target);
742 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
743 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
744 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
750 size_t LinearObjective::ByteSizeLong()
const {
752 size_t total_size = 0;
754 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
756 (void) cached_has_bits;
760 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
761 Int32Size(this->literals_);
763 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
764 total_size += data_size;
769 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
770 Int64Size(this->coefficients_);
772 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
773 total_size += data_size;
776 cached_has_bits = _has_bits_[0];
777 if (cached_has_bits & 0x00000003u) {
779 if (cached_has_bits & 0x00000001u) {
784 if (cached_has_bits & 0x00000002u) {
789 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
790 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
791 _internal_metadata_, total_size, &_cached_size_);
793 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
794 SetCachedSize(cached_size);
798 void LinearObjective::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
800 GOOGLE_DCHECK_NE(&from,
this);
801 const LinearObjective* source =
802 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearObjective>(
804 if (source ==
nullptr) {
806 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
813 void LinearObjective::MergeFrom(
const LinearObjective& from) {
815 GOOGLE_DCHECK_NE(&from,
this);
816 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
817 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
818 (void) cached_has_bits;
820 literals_.MergeFrom(from.literals_);
821 coefficients_.MergeFrom(from.coefficients_);
822 cached_has_bits = from._has_bits_[0];
823 if (cached_has_bits & 0x00000003u) {
824 if (cached_has_bits & 0x00000001u) {
827 if (cached_has_bits & 0x00000002u) {
828 scaling_factor_ = from.scaling_factor_;
830 _has_bits_[0] |= cached_has_bits;
834 void LinearObjective::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
836 if (&from ==
this)
return;
841 void LinearObjective::CopyFrom(
const LinearObjective& from) {
843 if (&from ==
this)
return;
848 bool LinearObjective::IsInitialized()
const {
852 void LinearObjective::InternalSwap(LinearObjective* other) {
854 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
855 swap(_has_bits_[0], other->_has_bits_[0]);
856 literals_.InternalSwap(&other->literals_);
857 coefficients_.InternalSwap(&other->coefficients_);
859 swap(scaling_factor_, other->scaling_factor_);
862 ::PROTOBUF_NAMESPACE_ID::Metadata LinearObjective::GetMetadata()
const {
863 return GetMetadataStatic();
873 BooleanAssignment::BooleanAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena)
874 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
877 RegisterArenaDtor(arena);
880 BooleanAssignment::BooleanAssignment(
const BooleanAssignment& from)
881 : ::PROTOBUF_NAMESPACE_ID::Message(),
882 literals_(from.literals_) {
883 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
887 void BooleanAssignment::SharedCtor() {
890 BooleanAssignment::~BooleanAssignment() {
893 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
896 void BooleanAssignment::SharedDtor() {
897 GOOGLE_DCHECK(GetArena() ==
nullptr);
900 void BooleanAssignment::ArenaDtor(
void*
object) {
901 BooleanAssignment* _this =
reinterpret_cast< BooleanAssignment*
>(object);
904 void BooleanAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
906 void BooleanAssignment::SetCachedSize(
int size)
const {
907 _cached_size_.Set(size);
910 void BooleanAssignment::Clear() {
912 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
914 (void) cached_has_bits;
917 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
920 const char* BooleanAssignment::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
921 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
922 while (!ctx->Done(&ptr)) {
923 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
924 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
929 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
933 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
935 if (!ctx->DataAvailable(ptr))
break;
936 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
937 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 10) {
938 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
940 }
else goto handle_unusual;
944 if ((tag & 7) == 4 || tag == 0) {
945 ctx->SetLastTag(tag);
948 ptr = UnknownFieldParse(tag,
949 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
951 CHK_(ptr !=
nullptr);
964 ::PROTOBUF_NAMESPACE_ID::uint8* BooleanAssignment::_InternalSerialize(
965 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
967 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
968 (void) cached_has_bits;
971 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
972 target = stream->EnsureSpace(target);
973 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
976 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
977 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
978 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
984 size_t BooleanAssignment::ByteSizeLong()
const {
986 size_t total_size = 0;
988 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
990 (void) cached_has_bits;
994 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
995 Int32Size(this->literals_);
997 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
998 total_size += data_size;
1001 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1002 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1003 _internal_metadata_, total_size, &_cached_size_);
1005 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1006 SetCachedSize(cached_size);
1010 void BooleanAssignment::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1012 GOOGLE_DCHECK_NE(&from,
this);
1013 const BooleanAssignment* source =
1014 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BooleanAssignment>(
1016 if (source ==
nullptr) {
1018 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1025 void BooleanAssignment::MergeFrom(
const BooleanAssignment& from) {
1027 GOOGLE_DCHECK_NE(&from,
this);
1028 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1029 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1030 (void) cached_has_bits;
1032 literals_.MergeFrom(from.literals_);
1035 void BooleanAssignment::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1037 if (&from ==
this)
return;
1042 void BooleanAssignment::CopyFrom(
const BooleanAssignment& from) {
1044 if (&from ==
this)
return;
1049 bool BooleanAssignment::IsInitialized()
const {
1053 void BooleanAssignment::InternalSwap(BooleanAssignment* other) {
1055 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1056 literals_.InternalSwap(&other->literals_);
1059 ::PROTOBUF_NAMESPACE_ID::Metadata BooleanAssignment::GetMetadata()
const {
1060 return GetMetadataStatic();
1068 using HasBits = decltype(std::declval<LinearBooleanProblem>()._has_bits_);
1070 (*has_bits)[0] |= 1u;
1073 (*has_bits)[0] |= 8u;
1075 static const ::operations_research::sat::LinearObjective& objective(
const LinearBooleanProblem* msg);
1077 (*has_bits)[0] |= 2u;
1079 static const ::operations_research::sat::BooleanAssignment& assignment(
const LinearBooleanProblem* msg);
1081 (*has_bits)[0] |= 4u;
1084 (*has_bits)[0] |= 16u;
1088 const ::operations_research::sat::LinearObjective&
1090 return *msg->objective_;
1092 const ::operations_research::sat::BooleanAssignment&
1094 return *msg->assignment_;
1096 LinearBooleanProblem::LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1097 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1098 constraints_(arena),
1101 RegisterArenaDtor(arena);
1104 LinearBooleanProblem::LinearBooleanProblem(
const LinearBooleanProblem& from)
1105 : ::PROTOBUF_NAMESPACE_ID::Message(),
1106 _has_bits_(from._has_bits_),
1107 constraints_(from.constraints_),
1108 var_names_(from.var_names_) {
1109 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1110 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1111 if (from._internal_has_name()) {
1112 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1115 if (from._internal_has_objective()) {
1116 objective_ = new ::operations_research::sat::LinearObjective(*from.objective_);
1120 if (from._internal_has_assignment()) {
1121 assignment_ = new ::operations_research::sat::BooleanAssignment(*from.assignment_);
1123 assignment_ =
nullptr;
1125 ::memcpy(&num_variables_, &from.num_variables_,
1126 static_cast<size_t>(
reinterpret_cast<char*
>(&original_num_variables_) -
1127 reinterpret_cast<char*
>(&num_variables_)) +
sizeof(original_num_variables_));
1131 void LinearBooleanProblem::SharedCtor() {
1132 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1133 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1134 reinterpret_cast<char*
>(&
objective_) -
reinterpret_cast<char*
>(
this)),
1135 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&original_num_variables_) -
1136 reinterpret_cast<char*
>(&
objective_)) +
sizeof(original_num_variables_));
1139 LinearBooleanProblem::~LinearBooleanProblem() {
1142 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1145 void LinearBooleanProblem::SharedDtor() {
1146 GOOGLE_DCHECK(GetArena() ==
nullptr);
1147 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1148 if (
this != internal_default_instance())
delete objective_;
1149 if (
this != internal_default_instance())
delete assignment_;
1152 void LinearBooleanProblem::ArenaDtor(
void*
object) {
1153 LinearBooleanProblem* _this =
reinterpret_cast< LinearBooleanProblem*
>(object);
1156 void LinearBooleanProblem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1158 void LinearBooleanProblem::SetCachedSize(
int size)
const {
1159 _cached_size_.Set(size);
1162 void LinearBooleanProblem::Clear() {
1164 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1166 (void) cached_has_bits;
1168 constraints_.Clear();
1170 cached_has_bits = _has_bits_[0];
1171 if (cached_has_bits & 0x00000007u) {
1172 if (cached_has_bits & 0x00000001u) {
1173 name_.ClearNonDefaultToEmpty();
1175 if (cached_has_bits & 0x00000002u) {
1179 if (cached_has_bits & 0x00000004u) {
1180 GOOGLE_DCHECK(assignment_ !=
nullptr);
1181 assignment_->Clear();
1184 if (cached_has_bits & 0x00000018u) {
1185 ::memset(&num_variables_, 0,
static_cast<size_t>(
1186 reinterpret_cast<char*
>(&original_num_variables_) -
1187 reinterpret_cast<char*
>(&num_variables_)) +
sizeof(original_num_variables_));
1190 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1193 const char* LinearBooleanProblem::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1194 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1196 while (!ctx->Done(&ptr)) {
1197 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1198 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1203 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 10)) {
1204 auto str = _internal_mutable_name();
1205 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1207 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanProblem.name");
1210 }
else goto handle_unusual;
1214 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
1216 num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1218 }
else goto handle_unusual;
1222 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 34)) {
1226 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
1228 if (!ctx->DataAvailable(ptr))
break;
1229 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
1230 }
else goto handle_unusual;
1234 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 42)) {
1235 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
1237 }
else goto handle_unusual;
1241 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 50)) {
1245 auto str = _internal_add_var_names();
1246 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1248 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanProblem.var_names");
1251 if (!ctx->DataAvailable(ptr))
break;
1252 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
1253 }
else goto handle_unusual;
1257 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 58)) {
1258 ptr = ctx->ParseMessage(_internal_mutable_assignment(), ptr);
1260 }
else goto handle_unusual;
1264 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
1266 original_num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1268 }
else goto handle_unusual;
1272 if ((tag & 7) == 4 || tag == 0) {
1273 ctx->SetLastTag(tag);
1276 ptr = UnknownFieldParse(tag,
1277 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1279 CHK_(ptr !=
nullptr);
1285 _has_bits_.Or(has_bits);
1293 ::PROTOBUF_NAMESPACE_ID::uint8* LinearBooleanProblem::_InternalSerialize(
1294 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
1296 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1297 (void) cached_has_bits;
1299 cached_has_bits = _has_bits_[0];
1301 if (cached_has_bits & 0x00000001u) {
1302 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1303 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
1304 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1305 "operations_research.sat.LinearBooleanProblem.name");
1306 target = stream->WriteStringMaybeAliased(
1307 1, this->_internal_name(), target);
1311 if (cached_has_bits & 0x00000008u) {
1312 target = stream->EnsureSpace(target);
1313 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num_variables(), target);
1317 for (
unsigned int i = 0,
1318 n =
static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
1319 target = stream->EnsureSpace(target);
1320 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1321 InternalWriteMessage(4, this->_internal_constraints(i), target, stream);
1325 if (cached_has_bits & 0x00000002u) {
1326 target = stream->EnsureSpace(target);
1327 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1328 InternalWriteMessage(
1333 for (
int i = 0, n = this->_internal_var_names_size(); i < n; i++) {
1334 const auto& s = this->_internal_var_names(i);
1335 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1336 s.data(),
static_cast<int>(s.length()),
1337 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1338 "operations_research.sat.LinearBooleanProblem.var_names");
1339 target = stream->WriteString(6, s, target);
1343 if (cached_has_bits & 0x00000004u) {
1344 target = stream->EnsureSpace(target);
1345 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1346 InternalWriteMessage(
1351 if (cached_has_bits & 0x00000010u) {
1352 target = stream->EnsureSpace(target);
1353 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_original_num_variables(), target);
1356 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1357 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1358 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1364 size_t LinearBooleanProblem::ByteSizeLong()
const {
1366 size_t total_size = 0;
1368 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1370 (void) cached_has_bits;
1373 total_size += 1UL * this->_internal_constraints_size();
1374 for (
const auto& msg : this->constraints_) {
1376 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1381 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(var_names_.size());
1382 for (
int i = 0, n = var_names_.size(); i < n; i++) {
1383 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1387 cached_has_bits = _has_bits_[0];
1388 if (cached_has_bits & 0x0000001fu) {
1390 if (cached_has_bits & 0x00000001u) {
1392 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1393 this->_internal_name());
1397 if (cached_has_bits & 0x00000002u) {
1399 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1404 if (cached_has_bits & 0x00000004u) {
1406 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1411 if (cached_has_bits & 0x00000008u) {
1413 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1414 this->_internal_num_variables());
1418 if (cached_has_bits & 0x00000010u) {
1420 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1421 this->_internal_original_num_variables());
1425 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1426 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1427 _internal_metadata_, total_size, &_cached_size_);
1429 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1430 SetCachedSize(cached_size);
1434 void LinearBooleanProblem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1436 GOOGLE_DCHECK_NE(&from,
this);
1437 const LinearBooleanProblem* source =
1438 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearBooleanProblem>(
1440 if (source ==
nullptr) {
1442 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1449 void LinearBooleanProblem::MergeFrom(
const LinearBooleanProblem& from) {
1451 GOOGLE_DCHECK_NE(&from,
this);
1452 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1453 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1454 (void) cached_has_bits;
1456 constraints_.MergeFrom(from.constraints_);
1457 var_names_.MergeFrom(from.var_names_);
1458 cached_has_bits = from._has_bits_[0];
1459 if (cached_has_bits & 0x0000001fu) {
1460 if (cached_has_bits & 0x00000001u) {
1461 _internal_set_name(from._internal_name());
1463 if (cached_has_bits & 0x00000002u) {
1464 _internal_mutable_objective()->::operations_research::sat::LinearObjective::MergeFrom(from._internal_objective());
1466 if (cached_has_bits & 0x00000004u) {
1467 _internal_mutable_assignment()->::operations_research::sat::BooleanAssignment::MergeFrom(from._internal_assignment());
1469 if (cached_has_bits & 0x00000008u) {
1470 num_variables_ = from.num_variables_;
1472 if (cached_has_bits & 0x00000010u) {
1473 original_num_variables_ = from.original_num_variables_;
1475 _has_bits_[0] |= cached_has_bits;
1479 void LinearBooleanProblem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1481 if (&from ==
this)
return;
1486 void LinearBooleanProblem::CopyFrom(
const LinearBooleanProblem& from) {
1488 if (&from ==
this)
return;
1493 bool LinearBooleanProblem::IsInitialized()
const {
1497 void LinearBooleanProblem::InternalSwap(LinearBooleanProblem* other) {
1499 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1500 swap(_has_bits_[0], other->_has_bits_[0]);
1501 constraints_.InternalSwap(&other->constraints_);
1502 var_names_.InternalSwap(&other->var_names_);
1503 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1504 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1505 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, original_num_variables_)
1506 +
sizeof(LinearBooleanProblem::original_num_variables_)
1507 - PROTOBUF_FIELD_OFFSET(LinearBooleanProblem,
objective_)>(
1509 reinterpret_cast<char*
>(&other->objective_));
1512 ::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanProblem::GetMetadata()
const {
1513 return GetMetadataStatic();
1520 PROTOBUF_NAMESPACE_OPEN
1522 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanConstraint >(arena);
1525 return Arena::CreateMessageInternal< ::operations_research::sat::LinearObjective >(arena);
1528 return Arena::CreateMessageInternal< ::operations_research::sat::BooleanAssignment >(arena);
1531 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanProblem >(arena);
1533 PROTOBUF_NAMESPACE_CLOSE
1536 #include <google/protobuf/port_undef.inc>
PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanProblem * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanProblem >(Arena *arena)
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_NOINLINE ::operations_research::sat::LinearObjective * Arena::CreateMaybeMessage< ::operations_research::sat::LinearObjective >(Arena *arena)
PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_metadata_getter(int index)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_once
PROTOBUF_NOINLINE ::operations_research::sat::BooleanAssignment * Arena::CreateMaybeMessage< ::operations_research::sat::BooleanAssignment >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const ** file_level_enum_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanConstraint * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanConstraint >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fboolean_5fproblem_2eproto[4]
decltype(std::declval< LinearBooleanConstraint >()._has_bits_) HasBits
static void set_has_upper_bound(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
static void set_has_lower_bound(HasBits *has_bits)
static void set_has_num_variables(HasBits *has_bits)
decltype(std::declval< LinearBooleanProblem >()._has_bits_) HasBits
static void set_has_original_num_variables(HasBits *has_bits)
static void set_has_assignment(HasBits *has_bits)
static void set_has_objective(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
static const ::operations_research::sat::BooleanAssignment & assignment(const LinearBooleanProblem *msg)
static const ::operations_research::sat::LinearObjective & objective(const LinearBooleanProblem *msg)
static void set_has_offset(HasBits *has_bits)
decltype(std::declval< LinearObjective >()._has_bits_) HasBits
static void set_has_scaling_factor(HasBits *has_bits)
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
Collection of objects used to extend the Constraint Solver library.
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
BooleanAssignment _instance
constexpr BooleanAssignmentDefaultTypeInternal()
~BooleanAssignmentDefaultTypeInternal()
constexpr LinearBooleanConstraintDefaultTypeInternal()
LinearBooleanConstraint _instance
~LinearBooleanConstraintDefaultTypeInternal()
~LinearBooleanProblemDefaultTypeInternal()
LinearBooleanProblem _instance
constexpr LinearBooleanProblemDefaultTypeInternal()
LinearObjective _instance
~LinearObjectiveDefaultTypeInternal()
constexpr LinearObjectiveDefaultTypeInternal()