Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
CpModel.pb.cs
Go to the documentation of this file.
1// <auto-generated>
2// Generated by the protocol buffer compiler. DO NOT EDIT!
3// source: ortools/sat/cp_model.proto
4// </auto-generated>
5#pragma warning disable 1591, 0612, 3021, 8981
6#region Designer generated code
7
8using pb = global::Google.Protobuf;
9using pbc = global::Google.Protobuf.Collections;
10using pbr = global::Google.Protobuf.Reflection;
11using scg = global::System.Collections.Generic;
12namespace Google.OrTools.Sat {
13
15 public static partial class CpModelReflection {
16
17 #region Descriptor
19 public static pbr::FileDescriptor Descriptor {
20 get { return descriptor; }
21 }
22 private static pbr::FileDescriptor descriptor;
23
24 static CpModelReflection() {
25 byte[] descriptorData = global::System.Convert.FromBase64String(
26 string.Concat(
27 "ChpvcnRvb2xzL3NhdC9jcF9tb2RlbC5wcm90bxIXb3BlcmF0aW9uc19yZXNl",
28 "YXJjaC5zYXQiNAoUSW50ZWdlclZhcmlhYmxlUHJvdG8SDAoEbmFtZRgBIAEo",
29 "CRIOCgZkb21haW4YAiADKAMiJQoRQm9vbEFyZ3VtZW50UHJvdG8SEAoIbGl0",
30 "ZXJhbHMYASADKAUiRQoVTGluZWFyRXhwcmVzc2lvblByb3RvEgwKBHZhcnMY",
31 "ASADKAUSDgoGY29lZmZzGAIgAygDEg4KBm9mZnNldBgDIAEoAyKUAQoTTGlu",
32 "ZWFyQXJndW1lbnRQcm90bxI+CgZ0YXJnZXQYASABKAsyLi5vcGVyYXRpb25z",
33 "X3Jlc2VhcmNoLnNhdC5MaW5lYXJFeHByZXNzaW9uUHJvdG8SPQoFZXhwcnMY",
34 "AiADKAsyLi5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5MaW5lYXJFeHByZXNz",
35 "aW9uUHJvdG8iXAobQWxsRGlmZmVyZW50Q29uc3RyYWludFByb3RvEj0KBWV4",
36 "cHJzGAEgAygLMi4ub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuTGluZWFyRXhw",
37 "cmVzc2lvblByb3RvIkUKFUxpbmVhckNvbnN0cmFpbnRQcm90bxIMCgR2YXJz",
38 "GAEgAygFEg4KBmNvZWZmcxgCIAMoAxIOCgZkb21haW4YAyADKAMikQIKFkVs",
39 "ZW1lbnRDb25zdHJhaW50UHJvdG8SDQoFaW5kZXgYASABKAUSDgoGdGFyZ2V0",
40 "GAIgASgFEgwKBHZhcnMYAyADKAUSRAoMbGluZWFyX2luZGV4GAQgASgLMi4u",
41 "b3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuTGluZWFyRXhwcmVzc2lvblByb3Rv",
42 "EkUKDWxpbmVhcl90YXJnZXQYBSABKAsyLi5vcGVyYXRpb25zX3Jlc2VhcmNo",
43 "LnNhdC5MaW5lYXJFeHByZXNzaW9uUHJvdG8SPQoFZXhwcnMYBiADKAsyLi5v",
44 "cGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5MaW5lYXJFeHByZXNzaW9uUHJvdG8i",
45 "0wEKF0ludGVydmFsQ29uc3RyYWludFByb3RvEj0KBXN0YXJ0GAQgASgLMi4u",
46 "b3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuTGluZWFyRXhwcmVzc2lvblByb3Rv",
47 "EjsKA2VuZBgFIAEoCzIuLm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkxpbmVh",
48 "ckV4cHJlc3Npb25Qcm90bxI8CgRzaXplGAYgASgLMi4ub3BlcmF0aW9uc19y",
49 "ZXNlYXJjaC5zYXQuTGluZWFyRXhwcmVzc2lvblByb3RvIi0KGE5vT3Zlcmxh",
50 "cENvbnN0cmFpbnRQcm90bxIRCglpbnRlcnZhbHMYASADKAUiRgoaTm9PdmVy",
51 "bGFwMkRDb25zdHJhaW50UHJvdG8SEwoLeF9pbnRlcnZhbHMYASADKAUSEwoL",
52 "eV9pbnRlcnZhbHMYAiADKAUisQEKGUN1bXVsYXRpdmVDb25zdHJhaW50UHJv",
53 "dG8SQAoIY2FwYWNpdHkYASABKAsyLi5vcGVyYXRpb25zX3Jlc2VhcmNoLnNh",
54 "dC5MaW5lYXJFeHByZXNzaW9uUHJvdG8SEQoJaW50ZXJ2YWxzGAIgAygFEj8K",
55 "B2RlbWFuZHMYAyADKAsyLi5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5MaW5l",
56 "YXJFeHByZXNzaW9uUHJvdG8i6gEKGFJlc2Vydm9pckNvbnN0cmFpbnRQcm90",
57 "bxIRCgltaW5fbGV2ZWwYASABKAMSEQoJbWF4X2xldmVsGAIgASgDEkIKCnRp",
58 "bWVfZXhwcnMYAyADKAsyLi5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5MaW5l",
59 "YXJFeHByZXNzaW9uUHJvdG8SRQoNbGV2ZWxfY2hhbmdlcxgGIAMoCzIuLm9w",
60 "ZXJhdGlvbnNfcmVzZWFyY2guc2F0LkxpbmVhckV4cHJlc3Npb25Qcm90bxIX",
61 "Cg9hY3RpdmVfbGl0ZXJhbHMYBSADKAVKBAgEEAUiSAoWQ2lyY3VpdENvbnN0",
62 "cmFpbnRQcm90bxINCgV0YWlscxgDIAMoBRINCgVoZWFkcxgEIAMoBRIQCghs",
63 "aXRlcmFscxgFIAMoBSKQAgoVUm91dGVzQ29uc3RyYWludFByb3RvEg0KBXRh",
64 "aWxzGAEgAygFEg0KBWhlYWRzGAIgAygFEhAKCGxpdGVyYWxzGAMgAygFEg8K",
65 "B2RlbWFuZHMYBCADKAUSEAoIY2FwYWNpdHkYBSABKAMSUgoKZGltZW5zaW9u",
66 "cxgGIAMoCzI+Lm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LlJvdXRlc0NvbnN0",
67 "cmFpbnRQcm90by5Ob2RlRXhwcmVzc2lvbnMaUAoPTm9kZUV4cHJlc3Npb25z",
68 "Ej0KBWV4cHJzGAEgAygLMi4ub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuTGlu",
69 "ZWFyRXhwcmVzc2lvblByb3RvIoQBChRUYWJsZUNvbnN0cmFpbnRQcm90bxIM",
70 "CgR2YXJzGAEgAygFEg4KBnZhbHVlcxgCIAMoAxI9CgVleHBycxgEIAMoCzIu",
71 "Lm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkxpbmVhckV4cHJlc3Npb25Qcm90",
72 "bxIPCgduZWdhdGVkGAMgASgIIj0KFkludmVyc2VDb25zdHJhaW50UHJvdG8S",
73 "EAoIZl9kaXJlY3QYASADKAUSEQoJZl9pbnZlcnNlGAIgAygFIuEBChhBdXRv",
74 "bWF0b25Db25zdHJhaW50UHJvdG8SFgoOc3RhcnRpbmdfc3RhdGUYAiABKAMS",
75 "FAoMZmluYWxfc3RhdGVzGAMgAygDEhcKD3RyYW5zaXRpb25fdGFpbBgEIAMo",
76 "AxIXCg90cmFuc2l0aW9uX2hlYWQYBSADKAMSGAoQdHJhbnNpdGlvbl9sYWJl",
77 "bBgGIAMoAxIMCgR2YXJzGAcgAygFEj0KBWV4cHJzGAggAygLMi4ub3BlcmF0",
78 "aW9uc19yZXNlYXJjaC5zYXQuTGluZWFyRXhwcmVzc2lvblByb3RvIiQKFExp",
79 "c3RPZlZhcmlhYmxlc1Byb3RvEgwKBHZhcnMYASADKAUi8AwKD0NvbnN0cmFp",
80 "bnRQcm90bxIMCgRuYW1lGAEgASgJEhsKE2VuZm9yY2VtZW50X2xpdGVyYWwY",
81 "AiADKAUSPQoHYm9vbF9vchgDIAEoCzIqLm9wZXJhdGlvbnNfcmVzZWFyY2gu",
82 "c2F0LkJvb2xBcmd1bWVudFByb3RvSAASPgoIYm9vbF9hbmQYBCABKAsyKi5v",
83 "cGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5Cb29sQXJndW1lbnRQcm90b0gAEkEK",
84 "C2F0X21vc3Rfb25lGBogASgLMioub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQu",
85 "Qm9vbEFyZ3VtZW50UHJvdG9IABJBCgtleGFjdGx5X29uZRgdIAEoCzIqLm9w",
86 "ZXJhdGlvbnNfcmVzZWFyY2guc2F0LkJvb2xBcmd1bWVudFByb3RvSAASPgoI",
87 "Ym9vbF94b3IYBSABKAsyKi5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5Cb29s",
88 "QXJndW1lbnRQcm90b0gAEj8KB2ludF9kaXYYByABKAsyLC5vcGVyYXRpb25z",
89 "X3Jlc2VhcmNoLnNhdC5MaW5lYXJBcmd1bWVudFByb3RvSAASPwoHaW50X21v",
90 "ZBgIIAEoCzIsLm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkxpbmVhckFyZ3Vt",
91 "ZW50UHJvdG9IABJACghpbnRfcHJvZBgLIAEoCzIsLm9wZXJhdGlvbnNfcmVz",
92 "ZWFyY2guc2F0LkxpbmVhckFyZ3VtZW50UHJvdG9IABI/CgdsaW5fbWF4GBsg",
93 "ASgLMiwub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuTGluZWFyQXJndW1lbnRQ",
94 "cm90b0gAEkAKBmxpbmVhchgMIAEoCzIuLm9wZXJhdGlvbnNfcmVzZWFyY2gu",
95 "c2F0LkxpbmVhckNvbnN0cmFpbnRQcm90b0gAEkgKCGFsbF9kaWZmGA0gASgL",
96 "MjQub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuQWxsRGlmZmVyZW50Q29uc3Ry",
97 "YWludFByb3RvSAASQgoHZWxlbWVudBgOIAEoCzIvLm9wZXJhdGlvbnNfcmVz",
98 "ZWFyY2guc2F0LkVsZW1lbnRDb25zdHJhaW50UHJvdG9IABJCCgdjaXJjdWl0",
99 "GA8gASgLMi8ub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuQ2lyY3VpdENvbnN0",
100 "cmFpbnRQcm90b0gAEkAKBnJvdXRlcxgXIAEoCzIuLm9wZXJhdGlvbnNfcmVz",
101 "ZWFyY2guc2F0LlJvdXRlc0NvbnN0cmFpbnRQcm90b0gAEj4KBXRhYmxlGBAg",
102 "ASgLMi0ub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuVGFibGVDb25zdHJhaW50",
103 "UHJvdG9IABJGCglhdXRvbWF0b24YESABKAsyMS5vcGVyYXRpb25zX3Jlc2Vh",
104 "cmNoLnNhdC5BdXRvbWF0b25Db25zdHJhaW50UHJvdG9IABJCCgdpbnZlcnNl",
105 "GBIgASgLMi8ub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuSW52ZXJzZUNvbnN0",
106 "cmFpbnRQcm90b0gAEkYKCXJlc2Vydm9pchgYIAEoCzIxLm9wZXJhdGlvbnNf",
107 "cmVzZWFyY2guc2F0LlJlc2Vydm9pckNvbnN0cmFpbnRQcm90b0gAEkQKCGlu",
108 "dGVydmFsGBMgASgLMjAub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuSW50ZXJ2",
109 "YWxDb25zdHJhaW50UHJvdG9IABJHCgpub19vdmVybGFwGBQgASgLMjEub3Bl",
110 "cmF0aW9uc19yZXNlYXJjaC5zYXQuTm9PdmVybGFwQ29uc3RyYWludFByb3Rv",
111 "SAASTAoNbm9fb3ZlcmxhcF8yZBgVIAEoCzIzLm9wZXJhdGlvbnNfcmVzZWFy",
112 "Y2guc2F0Lk5vT3ZlcmxhcDJEQ29uc3RyYWludFByb3RvSAASSAoKY3VtdWxh",
113 "dGl2ZRgWIAEoCzIyLm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkN1bXVsYXRp",
114 "dmVDb25zdHJhaW50UHJvdG9IABJJChBkdW1teV9jb25zdHJhaW50GB4gASgL",
115 "Mi0ub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuTGlzdE9mVmFyaWFibGVzUHJv",
116 "dG9IAEIMCgpjb25zdHJhaW50IuABChBDcE9iamVjdGl2ZVByb3RvEgwKBHZh",
117 "cnMYASADKAUSDgoGY29lZmZzGAQgAygDEg4KBm9mZnNldBgCIAEoARIWCg5z",
118 "Y2FsaW5nX2ZhY3RvchgDIAEoARIOCgZkb21haW4YBSADKAMSGQoRc2NhbGlu",
119 "Z193YXNfZXhhY3QYBiABKAgSHQoVaW50ZWdlcl9iZWZvcmVfb2Zmc2V0GAcg",
120 "ASgDEhwKFGludGVnZXJfYWZ0ZXJfb2Zmc2V0GAkgASgDEh4KFmludGVnZXJf",
121 "c2NhbGluZ19mYWN0b3IYCCABKAMiVQoTRmxvYXRPYmplY3RpdmVQcm90bxIM",
122 "CgR2YXJzGAEgAygFEg4KBmNvZWZmcxgCIAMoARIOCgZvZmZzZXQYAyABKAES",
123 "EAoIbWF4aW1pemUYBCABKAgigQUKFURlY2lzaW9uU3RyYXRlZ3lQcm90bxIR",
124 "Cgl2YXJpYWJsZXMYASADKAUSPQoFZXhwcnMYBSADKAsyLi5vcGVyYXRpb25z",
125 "X3Jlc2VhcmNoLnNhdC5MaW5lYXJFeHByZXNzaW9uUHJvdG8SbQobdmFyaWFi",
126 "bGVfc2VsZWN0aW9uX3N0cmF0ZWd5GAIgASgOMkgub3BlcmF0aW9uc19yZXNl",
127 "YXJjaC5zYXQuRGVjaXNpb25TdHJhdGVneVByb3RvLlZhcmlhYmxlU2VsZWN0",
128 "aW9uU3RyYXRlZ3kSaQoZZG9tYWluX3JlZHVjdGlvbl9zdHJhdGVneRgDIAEo",
129 "DjJGLm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkRlY2lzaW9uU3RyYXRlZ3lQ",
130 "cm90by5Eb21haW5SZWR1Y3Rpb25TdHJhdGVneSKUAQoZVmFyaWFibGVTZWxl",
131 "Y3Rpb25TdHJhdGVneRIQCgxDSE9PU0VfRklSU1QQABIVChFDSE9PU0VfTE9X",
132 "RVNUX01JThABEhYKEkNIT09TRV9ISUdIRVNUX01BWBACEhoKFkNIT09TRV9N",
133 "SU5fRE9NQUlOX1NJWkUQAxIaChZDSE9PU0VfTUFYX0RPTUFJTl9TSVpFEAQi",
134 "pAEKF0RvbWFpblJlZHVjdGlvblN0cmF0ZWd5EhQKEFNFTEVDVF9NSU5fVkFM",
135 "VUUQABIUChBTRUxFQ1RfTUFYX1ZBTFVFEAESFQoRU0VMRUNUX0xPV0VSX0hB",
136 "TEYQAhIVChFTRUxFQ1RfVVBQRVJfSEFMRhADEhcKE1NFTEVDVF9NRURJQU5f",
137 "VkFMVUUQBBIWChJTRUxFQ1RfUkFORE9NX0hBTEYQBSI5ChlQYXJ0aWFsVmFy",
138 "aWFibGVBc3NpZ25tZW50EgwKBHZhcnMYASADKAUSDgoGdmFsdWVzGAIgAygD",
139 "Ij4KFlNwYXJzZVBlcm11dGF0aW9uUHJvdG8SDwoHc3VwcG9ydBgBIAMoBRIT",
140 "CgtjeWNsZV9zaXplcxgCIAMoBSJHChBEZW5zZU1hdHJpeFByb3RvEhAKCG51",
141 "bV9yb3dzGAEgASgFEhAKCG51bV9jb2xzGAIgASgFEg8KB2VudHJpZXMYAyAD",
142 "KAUilAEKDVN5bW1ldHJ5UHJvdG8SRQoMcGVybXV0YXRpb25zGAEgAygLMi8u",
143 "b3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuU3BhcnNlUGVybXV0YXRpb25Qcm90",
144 "bxI8CglvcmJpdG9wZXMYAiADKAsyKS5vcGVyYXRpb25zX3Jlc2VhcmNoLnNh",
145 "dC5EZW5zZU1hdHJpeFByb3RvIo4ECgxDcE1vZGVsUHJvdG8SDAoEbmFtZRgB",
146 "IAEoCRJACgl2YXJpYWJsZXMYAiADKAsyLS5vcGVyYXRpb25zX3Jlc2VhcmNo",
147 "LnNhdC5JbnRlZ2VyVmFyaWFibGVQcm90bxI9Cgtjb25zdHJhaW50cxgDIAMo",
148 "CzIoLm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkNvbnN0cmFpbnRQcm90bxI8",
149 "CglvYmplY3RpdmUYBCABKAsyKS5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5D",
150 "cE9iamVjdGl2ZVByb3RvEk4KGGZsb2F0aW5nX3BvaW50X29iamVjdGl2ZRgJ",
151 "IAEoCzIsLm9wZXJhdGlvbnNfcmVzZWFyY2guc2F0LkZsb2F0T2JqZWN0aXZl",
152 "UHJvdG8SRwoPc2VhcmNoX3N0cmF0ZWd5GAUgAygLMi4ub3BlcmF0aW9uc19y",
153 "ZXNlYXJjaC5zYXQuRGVjaXNpb25TdHJhdGVneVByb3RvEkkKDXNvbHV0aW9u",
154 "X2hpbnQYBiABKAsyMi5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5QYXJ0aWFs",
155 "VmFyaWFibGVBc3NpZ25tZW50EhMKC2Fzc3VtcHRpb25zGAcgAygFEjgKCHN5",
156 "bW1ldHJ5GAggASgLMiYub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuU3ltbWV0",
157 "cnlQcm90byIiChBDcFNvbHZlclNvbHV0aW9uEg4KBnZhbHVlcxgBIAMoAyKx",
158 "BgoQQ3BTb2x2ZXJSZXNwb25zZRI3CgZzdGF0dXMYASABKA4yJy5vcGVyYXRp",
159 "b25zX3Jlc2VhcmNoLnNhdC5DcFNvbHZlclN0YXR1cxIQCghzb2x1dGlvbhgC",
160 "IAMoAxIXCg9vYmplY3RpdmVfdmFsdWUYAyABKAESHAoUYmVzdF9vYmplY3Rp",
161 "dmVfYm91bmQYBCABKAESRwoUYWRkaXRpb25hbF9zb2x1dGlvbnMYGyADKAsy",
162 "KS5vcGVyYXRpb25zX3Jlc2VhcmNoLnNhdC5DcFNvbHZlclNvbHV0aW9uEkoK",
163 "E3RpZ2h0ZW5lZF92YXJpYWJsZXMYFSADKAsyLS5vcGVyYXRpb25zX3Jlc2Vh",
164 "cmNoLnNhdC5JbnRlZ2VyVmFyaWFibGVQcm90bxIwCihzdWZmaWNpZW50X2Fz",
165 "c3VtcHRpb25zX2Zvcl9pbmZlYXNpYmlsaXR5GBcgAygFEkQKEWludGVnZXJf",
166 "b2JqZWN0aXZlGBwgASgLMikub3BlcmF0aW9uc19yZXNlYXJjaC5zYXQuQ3BP",
167 "YmplY3RpdmVQcm90bxIjChtpbm5lcl9vYmplY3RpdmVfbG93ZXJfYm91bmQY",
168 "HSABKAMSFAoMbnVtX2ludGVnZXJzGB4gASgDEhQKDG51bV9ib29sZWFucxgK",
169 "IAEoAxIaChJudW1fZml4ZWRfYm9vbGVhbnMYHyABKAMSFQoNbnVtX2NvbmZs",
170 "aWN0cxgLIAEoAxIUCgxudW1fYnJhbmNoZXMYDCABKAMSHwoXbnVtX2JpbmFy",
171 "eV9wcm9wYWdhdGlvbnMYDSABKAMSIAoYbnVtX2ludGVnZXJfcHJvcGFnYXRp",
172 "b25zGA4gASgDEhQKDG51bV9yZXN0YXJ0cxgYIAEoAxIZChFudW1fbHBfaXRl",
173 "cmF0aW9ucxgZIAEoAxIRCgl3YWxsX3RpbWUYDyABKAESEQoJdXNlcl90aW1l",
174 "GBAgASgBEhoKEmRldGVybWluaXN0aWNfdGltZRgRIAEoARIUCgxnYXBfaW50",
175 "ZWdyYWwYFiABKAESFQoNc29sdXRpb25faW5mbxgUIAEoCRIRCglzb2x2ZV9s",
176 "b2cYGiABKAkqWwoOQ3BTb2x2ZXJTdGF0dXMSCwoHVU5LTk9XThAAEhEKDU1P",
177 "REVMX0lOVkFMSUQQARIMCghGRUFTSUJMRRACEg4KCklORkVBU0lCTEUQAxIL",
178 "CgdPUFRJTUFMEARCdgoWY29tLmdvb2dsZS5vcnRvb2xzLnNhdEIPQ3BNb2Rl",
179 "bFByb3RvYnVmUAFaNGdpdGh1Yi5jb20vZ29vZ2xlL29yLXRvb2xzL29ydG9v",
180 "bHMvc2F0L3Byb3RvL2NwbW9kZWyqAhJHb29nbGUuT3JUb29scy5TYXRiBnBy",
181 "b3RvMw=="));
182 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
183 new pbr::FileDescriptor[] { },
184 new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.OrTools.Sat.CpSolverStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
185 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.IntegerVariableProto), global::Google.OrTools.Sat.IntegerVariableProto.Parser, new[]{ "Name", "Domain" }, null, null, null, null),
186 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.BoolArgumentProto), global::Google.OrTools.Sat.BoolArgumentProto.Parser, new[]{ "Literals" }, null, null, null, null),
187 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.LinearExpressionProto), global::Google.OrTools.Sat.LinearExpressionProto.Parser, new[]{ "Vars", "Coeffs", "Offset" }, null, null, null, null),
188 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.LinearArgumentProto), global::Google.OrTools.Sat.LinearArgumentProto.Parser, new[]{ "Target", "Exprs" }, null, null, null, null),
189 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.AllDifferentConstraintProto), global::Google.OrTools.Sat.AllDifferentConstraintProto.Parser, new[]{ "Exprs" }, null, null, null, null),
190 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.LinearConstraintProto), global::Google.OrTools.Sat.LinearConstraintProto.Parser, new[]{ "Vars", "Coeffs", "Domain" }, null, null, null, null),
191 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.ElementConstraintProto), global::Google.OrTools.Sat.ElementConstraintProto.Parser, new[]{ "Index", "Target", "Vars", "LinearIndex", "LinearTarget", "Exprs" }, null, null, null, null),
192 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.IntervalConstraintProto), global::Google.OrTools.Sat.IntervalConstraintProto.Parser, new[]{ "Start", "End", "Size" }, null, null, null, null),
193 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.NoOverlapConstraintProto), global::Google.OrTools.Sat.NoOverlapConstraintProto.Parser, new[]{ "Intervals" }, null, null, null, null),
194 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.NoOverlap2DConstraintProto), global::Google.OrTools.Sat.NoOverlap2DConstraintProto.Parser, new[]{ "XIntervals", "YIntervals" }, null, null, null, null),
195 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.CumulativeConstraintProto), global::Google.OrTools.Sat.CumulativeConstraintProto.Parser, new[]{ "Capacity", "Intervals", "Demands" }, null, null, null, null),
196 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.ReservoirConstraintProto), global::Google.OrTools.Sat.ReservoirConstraintProto.Parser, new[]{ "MinLevel", "MaxLevel", "TimeExprs", "LevelChanges", "ActiveLiterals" }, null, null, null, null),
197 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.CircuitConstraintProto), global::Google.OrTools.Sat.CircuitConstraintProto.Parser, new[]{ "Tails", "Heads", "Literals" }, null, null, null, null),
198 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.RoutesConstraintProto), global::Google.OrTools.Sat.RoutesConstraintProto.Parser, new[]{ "Tails", "Heads", "Literals", "Demands", "Capacity", "Dimensions" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions), global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions.Parser, new[]{ "Exprs" }, null, null, null, null)}),
199 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.TableConstraintProto), global::Google.OrTools.Sat.TableConstraintProto.Parser, new[]{ "Vars", "Values", "Exprs", "Negated" }, null, null, null, null),
200 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.InverseConstraintProto), global::Google.OrTools.Sat.InverseConstraintProto.Parser, new[]{ "FDirect", "FInverse" }, null, null, null, null),
201 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.AutomatonConstraintProto), global::Google.OrTools.Sat.AutomatonConstraintProto.Parser, new[]{ "StartingState", "FinalStates", "TransitionTail", "TransitionHead", "TransitionLabel", "Vars", "Exprs" }, null, null, null, null),
202 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.ListOfVariablesProto), global::Google.OrTools.Sat.ListOfVariablesProto.Parser, new[]{ "Vars" }, null, null, null, null),
203 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.ConstraintProto), global::Google.OrTools.Sat.ConstraintProto.Parser, new[]{ "Name", "EnforcementLiteral", "BoolOr", "BoolAnd", "AtMostOne", "ExactlyOne", "BoolXor", "IntDiv", "IntMod", "IntProd", "LinMax", "Linear", "AllDiff", "Element", "Circuit", "Routes", "Table", "Automaton", "Inverse", "Reservoir", "Interval", "NoOverlap", "NoOverlap2D", "Cumulative", "DummyConstraint" }, new[]{ "Constraint" }, null, null, null),
204 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.CpObjectiveProto), global::Google.OrTools.Sat.CpObjectiveProto.Parser, new[]{ "Vars", "Coeffs", "Offset", "ScalingFactor", "Domain", "ScalingWasExact", "IntegerBeforeOffset", "IntegerAfterOffset", "IntegerScalingFactor" }, null, null, null, null),
205 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.FloatObjectiveProto), global::Google.OrTools.Sat.FloatObjectiveProto.Parser, new[]{ "Vars", "Coeffs", "Offset", "Maximize" }, null, null, null, null),
206 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.DecisionStrategyProto), global::Google.OrTools.Sat.DecisionStrategyProto.Parser, new[]{ "Variables", "Exprs", "VariableSelectionStrategy", "DomainReductionStrategy" }, null, new[]{ typeof(global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy), typeof(global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy) }, null, null),
207 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.PartialVariableAssignment), global::Google.OrTools.Sat.PartialVariableAssignment.Parser, new[]{ "Vars", "Values" }, null, null, null, null),
208 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.SparsePermutationProto), global::Google.OrTools.Sat.SparsePermutationProto.Parser, new[]{ "Support", "CycleSizes" }, null, null, null, null),
209 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.DenseMatrixProto), global::Google.OrTools.Sat.DenseMatrixProto.Parser, new[]{ "NumRows", "NumCols", "Entries" }, null, null, null, null),
210 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.SymmetryProto), global::Google.OrTools.Sat.SymmetryProto.Parser, new[]{ "Permutations", "Orbitopes" }, null, null, null, null),
211 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.CpModelProto), global::Google.OrTools.Sat.CpModelProto.Parser, new[]{ "Name", "Variables", "Constraints", "Objective", "FloatingPointObjective", "SearchStrategy", "SolutionHint", "Assumptions", "Symmetry" }, null, null, null, null),
212 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.CpSolverSolution), global::Google.OrTools.Sat.CpSolverSolution.Parser, new[]{ "Values" }, null, null, null, null),
213 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Sat.CpSolverResponse), global::Google.OrTools.Sat.CpSolverResponse.Parser, new[]{ "Status", "Solution", "ObjectiveValue", "BestObjectiveBound", "AdditionalSolutions", "TightenedVariables", "SufficientAssumptionsForInfeasibility", "IntegerObjective", "InnerObjectiveLowerBound", "NumIntegers", "NumBooleans", "NumFixedBooleans", "NumConflicts", "NumBranches", "NumBinaryPropagations", "NumIntegerPropagations", "NumRestarts", "NumLpIterations", "WallTime", "UserTime", "DeterministicTime", "GapIntegral", "SolutionInfo", "SolveLog" }, null, null, null, null)
214 }));
215 }
216 #endregion
217
218 }
219 #region Enums
223 public enum CpSolverStatus {
228 [pbr::OriginalName("UNKNOWN")] Unknown = 0,
233 [pbr::OriginalName("MODEL_INVALID")] ModelInvalid = 1,
239 [pbr::OriginalName("FEASIBLE")] Feasible = 2,
243 [pbr::OriginalName("INFEASIBLE")] Infeasible = 3,
254 [pbr::OriginalName("OPTIMAL")] Optimal = 4,
256
257 #endregion
258
259 #region Messages
281 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
282 public sealed partial class IntegerVariableProto : pb::IMessage<IntegerVariableProto>
283 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
284 , pb::IBufferMessage
285 #endif
286 {
287 private static readonly pb::MessageParser<IntegerVariableProto> _parser = new pb::MessageParser<IntegerVariableProto>(() => new IntegerVariableProto());
288 private pb::UnknownFieldSet _unknownFields;
289 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
290 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
291 public static pb::MessageParser<IntegerVariableProto> Parser { get { return _parser; } }
292
293 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
294 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
295 public static pbr::MessageDescriptor Descriptor {
296 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[0]; }
297 }
298
299 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
300 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
301 pbr::MessageDescriptor pb::IMessage.Descriptor {
302 get { return Descriptor; }
303 }
304
305 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
306 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
307 public IntegerVariableProto() {
308 OnConstruction();
309 }
310
311 partial void OnConstruction();
313 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
314 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
315 public IntegerVariableProto(IntegerVariableProto other) : this() {
316 name_ = other.name_;
317 domain_ = other.domain_.Clone();
318 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
319 }
321 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
322 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
323 public IntegerVariableProto Clone() {
324 return new IntegerVariableProto(this);
325 }
326
328 public const int NameFieldNumber = 1;
329 private string name_ = "";
331
333 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
334 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
335 public string Name {
336 get { return name_; }
337 set {
338 name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
339 }
341
343 public const int DomainFieldNumber = 2;
344 private static readonly pb::FieldCodec<long> _repeated_domain_codec
345 = pb::FieldCodec.ForInt64(18);
346 private readonly pbc::RepeatedField<long> domain_ = new pbc::RepeatedField<long>();
366 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
367 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
368 public pbc::RepeatedField<long> Domain {
369 get { return domain_; }
370 }
371
372 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
373 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
374 public override bool Equals(object other) {
375 return Equals(other as IntegerVariableProto);
377
378 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
379 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
380 public bool Equals(IntegerVariableProto other) {
381 if (ReferenceEquals(other, null)) {
382 return false;
383 }
384 if (ReferenceEquals(other, this)) {
385 return true;
386 }
387 if (Name != other.Name) return false;
388 if(!domain_.Equals(other.domain_)) return false;
389 return Equals(_unknownFields, other._unknownFields);
390 }
391
392 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
393 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
394 public override int GetHashCode() {
395 int hash = 1;
396 if (Name.Length != 0) hash ^= Name.GetHashCode();
397 hash ^= domain_.GetHashCode();
398 if (_unknownFields != null) {
399 hash ^= _unknownFields.GetHashCode();
400 }
401 return hash;
403
404 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
405 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
406 public override string ToString() {
407 return pb::JsonFormatter.ToDiagnosticString(this);
408 }
409
410 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
411 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
412 public void WriteTo(pb::CodedOutputStream output) {
413 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
414 output.WriteRawMessage(this);
415 #else
416 if (Name.Length != 0) {
417 output.WriteRawTag(10);
418 output.WriteString(Name);
419 }
420 domain_.WriteTo(output, _repeated_domain_codec);
421 if (_unknownFields != null) {
422 _unknownFields.WriteTo(output);
423 }
424 #endif
425 }
426
427 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
428 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
429 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
430 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
431 if (Name.Length != 0) {
432 output.WriteRawTag(10);
433 output.WriteString(Name);
434 }
435 domain_.WriteTo(ref output, _repeated_domain_codec);
436 if (_unknownFields != null) {
437 _unknownFields.WriteTo(ref output);
438 }
439 }
440 #endif
441
442 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
443 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
444 public int CalculateSize() {
445 int size = 0;
446 if (Name.Length != 0) {
447 size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
448 }
449 size += domain_.CalculateSize(_repeated_domain_codec);
450 if (_unknownFields != null) {
451 size += _unknownFields.CalculateSize();
453 return size;
454 }
455
456 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
457 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
458 public void MergeFrom(IntegerVariableProto other) {
459 if (other == null) {
460 return;
461 }
462 if (other.Name.Length != 0) {
463 Name = other.Name;
464 }
465 domain_.Add(other.domain_);
466 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
467 }
468
469 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
470 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
471 public void MergeFrom(pb::CodedInputStream input) {
472 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
473 input.ReadRawMessage(this);
474 #else
475 uint tag;
476 while ((tag = input.ReadTag()) != 0) {
477 if ((tag & 7) == 4) {
478 // Abort on any end group tag.
479 return;
480 }
481 switch(tag) {
482 default:
483 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
484 break;
485 case 10: {
486 Name = input.ReadString();
487 break;
488 }
489 case 18:
490 case 16: {
491 domain_.AddEntriesFrom(input, _repeated_domain_codec);
492 break;
493 }
494 }
495 }
496 #endif
497 }
498
499 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
500 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
501 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
502 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
503 uint tag;
504 while ((tag = input.ReadTag()) != 0) {
505 if ((tag & 7) == 4) {
506 // Abort on any end group tag.
507 return;
508 }
509 switch(tag) {
510 default:
511 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
512 break;
513 case 10: {
514 Name = input.ReadString();
515 break;
516 }
517 case 18:
518 case 16: {
519 domain_.AddEntriesFrom(ref input, _repeated_domain_codec);
520 break;
521 }
522 }
523 }
524 }
525 #endif
526
527 }
528
532 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
533 public sealed partial class BoolArgumentProto : pb::IMessage<BoolArgumentProto>
534 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
535 , pb::IBufferMessage
536 #endif
537 {
538 private static readonly pb::MessageParser<BoolArgumentProto> _parser = new pb::MessageParser<BoolArgumentProto>(() => new BoolArgumentProto());
539 private pb::UnknownFieldSet _unknownFields;
540 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
541 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
542 public static pb::MessageParser<BoolArgumentProto> Parser { get { return _parser; } }
543
544 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
545 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
546 public static pbr::MessageDescriptor Descriptor {
547 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[1]; }
548 }
549
550 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
551 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
552 pbr::MessageDescriptor pb::IMessage.Descriptor {
553 get { return Descriptor; }
555
556 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
557 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
558 public BoolArgumentProto() {
559 OnConstruction();
560 }
561
562 partial void OnConstruction();
563
564 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
565 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
566 public BoolArgumentProto(BoolArgumentProto other) : this() {
567 literals_ = other.literals_.Clone();
568 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
569 }
570
571 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
572 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
573 public BoolArgumentProto Clone() {
574 return new BoolArgumentProto(this);
575 }
576
578 public const int LiteralsFieldNumber = 1;
579 private static readonly pb::FieldCodec<int> _repeated_literals_codec
580 = pb::FieldCodec.ForInt32(10);
581 private readonly pbc::RepeatedField<int> literals_ = new pbc::RepeatedField<int>();
582 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
583 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
584 public pbc::RepeatedField<int> Literals {
585 get { return literals_; }
587
588 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
589 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
590 public override bool Equals(object other) {
591 return Equals(other as BoolArgumentProto);
593
594 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
595 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
596 public bool Equals(BoolArgumentProto other) {
597 if (ReferenceEquals(other, null)) {
598 return false;
599 }
600 if (ReferenceEquals(other, this)) {
601 return true;
602 }
603 if(!literals_.Equals(other.literals_)) return false;
604 return Equals(_unknownFields, other._unknownFields);
605 }
606
607 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
608 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
609 public override int GetHashCode() {
610 int hash = 1;
611 hash ^= literals_.GetHashCode();
612 if (_unknownFields != null) {
613 hash ^= _unknownFields.GetHashCode();
614 }
615 return hash;
616 }
618 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
619 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
620 public override string ToString() {
621 return pb::JsonFormatter.ToDiagnosticString(this);
622 }
623
624 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
625 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
626 public void WriteTo(pb::CodedOutputStream output) {
627 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
628 output.WriteRawMessage(this);
629 #else
630 literals_.WriteTo(output, _repeated_literals_codec);
631 if (_unknownFields != null) {
632 _unknownFields.WriteTo(output);
633 }
634 #endif
635 }
636
637 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
638 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
639 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
640 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
641 literals_.WriteTo(ref output, _repeated_literals_codec);
642 if (_unknownFields != null) {
643 _unknownFields.WriteTo(ref output);
644 }
645 }
646 #endif
647
648 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
649 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
650 public int CalculateSize() {
651 int size = 0;
652 size += literals_.CalculateSize(_repeated_literals_codec);
653 if (_unknownFields != null) {
654 size += _unknownFields.CalculateSize();
655 }
656 return size;
657 }
659 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
660 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
661 public void MergeFrom(BoolArgumentProto other) {
662 if (other == null) {
663 return;
664 }
665 literals_.Add(other.literals_);
666 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
667 }
668
669 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
670 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
671 public void MergeFrom(pb::CodedInputStream input) {
672 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
673 input.ReadRawMessage(this);
674 #else
675 uint tag;
676 while ((tag = input.ReadTag()) != 0) {
677 if ((tag & 7) == 4) {
678 // Abort on any end group tag.
679 return;
680 }
681 switch(tag) {
682 default:
683 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
684 break;
685 case 10:
686 case 8: {
687 literals_.AddEntriesFrom(input, _repeated_literals_codec);
688 break;
689 }
690 }
691 }
692 #endif
693 }
694
695 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
696 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
697 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
698 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
699 uint tag;
700 while ((tag = input.ReadTag()) != 0) {
701 if ((tag & 7) == 4) {
702 // Abort on any end group tag.
703 return;
704 }
705 switch(tag) {
706 default:
707 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
708 break;
709 case 10:
710 case 8: {
711 literals_.AddEntriesFrom(ref input, _repeated_literals_codec);
712 break;
713 }
714 }
715 }
716 }
717 #endif
718
719 }
720
726 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
727 public sealed partial class LinearExpressionProto : pb::IMessage<LinearExpressionProto>
728 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
729 , pb::IBufferMessage
730 #endif
731 {
732 private static readonly pb::MessageParser<LinearExpressionProto> _parser = new pb::MessageParser<LinearExpressionProto>(() => new LinearExpressionProto());
733 private pb::UnknownFieldSet _unknownFields;
734 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
735 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
736 public static pb::MessageParser<LinearExpressionProto> Parser { get { return _parser; } }
737
738 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
739 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
740 public static pbr::MessageDescriptor Descriptor {
741 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[2]; }
742 }
743
744 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
745 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
746 pbr::MessageDescriptor pb::IMessage.Descriptor {
747 get { return Descriptor; }
749
750 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
751 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
752 public LinearExpressionProto() {
753 OnConstruction();
754 }
755
756 partial void OnConstruction();
757
758 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
759 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
761 vars_ = other.vars_.Clone();
762 coeffs_ = other.coeffs_.Clone();
763 offset_ = other.offset_;
764 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
765 }
766
767 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
768 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
770 return new LinearExpressionProto(this);
771 }
772
774 public const int VarsFieldNumber = 1;
775 private static readonly pb::FieldCodec<int> _repeated_vars_codec
776 = pb::FieldCodec.ForInt32(10);
777 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
778 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
779 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
780 public pbc::RepeatedField<int> Vars {
781 get { return vars_; }
783
785 public const int CoeffsFieldNumber = 2;
786 private static readonly pb::FieldCodec<long> _repeated_coeffs_codec
787 = pb::FieldCodec.ForInt64(18);
788 private readonly pbc::RepeatedField<long> coeffs_ = new pbc::RepeatedField<long>();
789 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
790 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
791 public pbc::RepeatedField<long> Coeffs {
792 get { return coeffs_; }
794
796 public const int OffsetFieldNumber = 3;
797 private long offset_;
798 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
799 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
800 public long Offset {
801 get { return offset_; }
802 set {
803 offset_ = value;
805 }
806
807 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
808 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
809 public override bool Equals(object other) {
810 return Equals(other as LinearExpressionProto);
811 }
812
813 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
814 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
815 public bool Equals(LinearExpressionProto other) {
816 if (ReferenceEquals(other, null)) {
817 return false;
818 }
819 if (ReferenceEquals(other, this)) {
820 return true;
821 }
822 if(!vars_.Equals(other.vars_)) return false;
823 if(!coeffs_.Equals(other.coeffs_)) return false;
824 if (Offset != other.Offset) return false;
825 return Equals(_unknownFields, other._unknownFields);
826 }
827
828 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
829 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
830 public override int GetHashCode() {
831 int hash = 1;
832 hash ^= vars_.GetHashCode();
833 hash ^= coeffs_.GetHashCode();
834 if (Offset != 0L) hash ^= Offset.GetHashCode();
835 if (_unknownFields != null) {
836 hash ^= _unknownFields.GetHashCode();
837 }
838 return hash;
839 }
840
841 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
842 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
843 public override string ToString() {
844 return pb::JsonFormatter.ToDiagnosticString(this);
845 }
846
847 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
848 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
849 public void WriteTo(pb::CodedOutputStream output) {
850 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
851 output.WriteRawMessage(this);
852 #else
853 vars_.WriteTo(output, _repeated_vars_codec);
854 coeffs_.WriteTo(output, _repeated_coeffs_codec);
855 if (Offset != 0L) {
856 output.WriteRawTag(24);
857 output.WriteInt64(Offset);
858 }
859 if (_unknownFields != null) {
860 _unknownFields.WriteTo(output);
861 }
862 #endif
863 }
864
865 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
866 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
867 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
868 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
869 vars_.WriteTo(ref output, _repeated_vars_codec);
870 coeffs_.WriteTo(ref output, _repeated_coeffs_codec);
871 if (Offset != 0L) {
872 output.WriteRawTag(24);
873 output.WriteInt64(Offset);
874 }
875 if (_unknownFields != null) {
876 _unknownFields.WriteTo(ref output);
877 }
878 }
879 #endif
880
881 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
882 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
883 public int CalculateSize() {
884 int size = 0;
885 size += vars_.CalculateSize(_repeated_vars_codec);
886 size += coeffs_.CalculateSize(_repeated_coeffs_codec);
887 if (Offset != 0L) {
888 size += 1 + pb::CodedOutputStream.ComputeInt64Size(Offset);
889 }
890 if (_unknownFields != null) {
891 size += _unknownFields.CalculateSize();
892 }
893 return size;
894 }
895
896 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
897 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
898 public void MergeFrom(LinearExpressionProto other) {
899 if (other == null) {
900 return;
901 }
902 vars_.Add(other.vars_);
903 coeffs_.Add(other.coeffs_);
904 if (other.Offset != 0L) {
905 Offset = other.Offset;
907 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
908 }
909
910 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
911 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
912 public void MergeFrom(pb::CodedInputStream input) {
913 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
914 input.ReadRawMessage(this);
915 #else
916 uint tag;
917 while ((tag = input.ReadTag()) != 0) {
918 if ((tag & 7) == 4) {
919 // Abort on any end group tag.
920 return;
921 }
922 switch(tag) {
923 default:
924 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
925 break;
926 case 10:
927 case 8: {
928 vars_.AddEntriesFrom(input, _repeated_vars_codec);
929 break;
930 }
931 case 18:
932 case 16: {
933 coeffs_.AddEntriesFrom(input, _repeated_coeffs_codec);
934 break;
935 }
936 case 24: {
937 Offset = input.ReadInt64();
938 break;
939 }
940 }
941 }
942 #endif
943 }
944
945 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
946 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
947 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
948 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
949 uint tag;
950 while ((tag = input.ReadTag()) != 0) {
951 if ((tag & 7) == 4) {
952 // Abort on any end group tag.
953 return;
954 }
955 switch(tag) {
956 default:
957 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
958 break;
959 case 10:
960 case 8: {
961 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
962 break;
963 }
964 case 18:
965 case 16: {
966 coeffs_.AddEntriesFrom(ref input, _repeated_coeffs_codec);
967 break;
968 }
969 case 24: {
970 Offset = input.ReadInt64();
971 break;
972 }
973 }
974 }
975 }
976 #endif
977
978 }
979
980 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
981 public sealed partial class LinearArgumentProto : pb::IMessage<LinearArgumentProto>
982 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
983 , pb::IBufferMessage
984 #endif
985 {
986 private static readonly pb::MessageParser<LinearArgumentProto> _parser = new pb::MessageParser<LinearArgumentProto>(() => new LinearArgumentProto());
987 private pb::UnknownFieldSet _unknownFields;
988 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
989 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
990 public static pb::MessageParser<LinearArgumentProto> Parser { get { return _parser; } }
991
992 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
993 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
994 public static pbr::MessageDescriptor Descriptor {
995 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[3]; }
996 }
997
998 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
999 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1000 pbr::MessageDescriptor pb::IMessage.Descriptor {
1001 get { return Descriptor; }
1003
1004 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1005 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1006 public LinearArgumentProto() {
1007 OnConstruction();
1008 }
1009
1010 partial void OnConstruction();
1011
1012 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1013 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1015 target_ = other.target_ != null ? other.target_.Clone() : null;
1016 exprs_ = other.exprs_.Clone();
1017 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1018 }
1019
1020 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1021 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1023 return new LinearArgumentProto(this);
1024 }
1025
1027 public const int TargetFieldNumber = 1;
1028 private global::Google.OrTools.Sat.LinearExpressionProto target_;
1029 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1030 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1031 public global::Google.OrTools.Sat.LinearExpressionProto Target {
1032 get { return target_; }
1033 set {
1034 target_ = value;
1036 }
1037
1039 public const int ExprsFieldNumber = 2;
1040 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
1041 = pb::FieldCodec.ForMessage(18, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
1042 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
1043 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1044 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1045 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
1046 get { return exprs_; }
1048
1049 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1050 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1051 public override bool Equals(object other) {
1052 return Equals(other as LinearArgumentProto);
1054
1055 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1056 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1057 public bool Equals(LinearArgumentProto other) {
1058 if (ReferenceEquals(other, null)) {
1059 return false;
1060 }
1061 if (ReferenceEquals(other, this)) {
1062 return true;
1063 }
1064 if (!object.Equals(Target, other.Target)) return false;
1065 if(!exprs_.Equals(other.exprs_)) return false;
1066 return Equals(_unknownFields, other._unknownFields);
1067 }
1068
1069 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1070 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1071 public override int GetHashCode() {
1072 int hash = 1;
1073 if (target_ != null) hash ^= Target.GetHashCode();
1074 hash ^= exprs_.GetHashCode();
1075 if (_unknownFields != null) {
1076 hash ^= _unknownFields.GetHashCode();
1077 }
1078 return hash;
1080
1081 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1082 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1083 public override string ToString() {
1084 return pb::JsonFormatter.ToDiagnosticString(this);
1085 }
1086
1087 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1088 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1089 public void WriteTo(pb::CodedOutputStream output) {
1090 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1091 output.WriteRawMessage(this);
1092 #else
1093 if (target_ != null) {
1094 output.WriteRawTag(10);
1095 output.WriteMessage(Target);
1096 }
1097 exprs_.WriteTo(output, _repeated_exprs_codec);
1098 if (_unknownFields != null) {
1099 _unknownFields.WriteTo(output);
1100 }
1101 #endif
1102 }
1103
1104 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1105 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1106 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1107 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1108 if (target_ != null) {
1109 output.WriteRawTag(10);
1110 output.WriteMessage(Target);
1111 }
1112 exprs_.WriteTo(ref output, _repeated_exprs_codec);
1113 if (_unknownFields != null) {
1114 _unknownFields.WriteTo(ref output);
1115 }
1116 }
1117 #endif
1118
1119 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1120 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1121 public int CalculateSize() {
1122 int size = 0;
1123 if (target_ != null) {
1124 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Target);
1125 }
1126 size += exprs_.CalculateSize(_repeated_exprs_codec);
1127 if (_unknownFields != null) {
1128 size += _unknownFields.CalculateSize();
1130 return size;
1131 }
1132
1133 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1134 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1135 public void MergeFrom(LinearArgumentProto other) {
1136 if (other == null) {
1137 return;
1138 }
1139 if (other.target_ != null) {
1140 if (target_ == null) {
1141 Target = new global::Google.OrTools.Sat.LinearExpressionProto();
1142 }
1143 Target.MergeFrom(other.Target);
1144 }
1145 exprs_.Add(other.exprs_);
1146 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1147 }
1148
1149 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1150 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1151 public void MergeFrom(pb::CodedInputStream input) {
1152 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1153 input.ReadRawMessage(this);
1154 #else
1155 uint tag;
1156 while ((tag = input.ReadTag()) != 0) {
1157 if ((tag & 7) == 4) {
1158 // Abort on any end group tag.
1159 return;
1160 }
1161 switch(tag) {
1162 default:
1163 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1164 break;
1165 case 10: {
1166 if (target_ == null) {
1167 Target = new global::Google.OrTools.Sat.LinearExpressionProto();
1168 }
1169 input.ReadMessage(Target);
1170 break;
1171 }
1172 case 18: {
1173 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
1174 break;
1175 }
1176 }
1177 }
1178 #endif
1179 }
1180
1181 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1182 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1183 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1184 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1185 uint tag;
1186 while ((tag = input.ReadTag()) != 0) {
1187 if ((tag & 7) == 4) {
1188 // Abort on any end group tag.
1189 return;
1190 }
1191 switch(tag) {
1192 default:
1193 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1194 break;
1195 case 10: {
1196 if (target_ == null) {
1197 Target = new global::Google.OrTools.Sat.LinearExpressionProto();
1198 }
1199 input.ReadMessage(Target);
1200 break;
1201 }
1202 case 18: {
1203 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
1204 break;
1205 }
1206 }
1207 }
1208 }
1209 #endif
1210
1211 }
1212
1216 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1217 public sealed partial class AllDifferentConstraintProto : pb::IMessage<AllDifferentConstraintProto>
1218 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1219 , pb::IBufferMessage
1220 #endif
1221 {
1222 private static readonly pb::MessageParser<AllDifferentConstraintProto> _parser = new pb::MessageParser<AllDifferentConstraintProto>(() => new AllDifferentConstraintProto());
1223 private pb::UnknownFieldSet _unknownFields;
1224 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1225 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1226 public static pb::MessageParser<AllDifferentConstraintProto> Parser { get { return _parser; } }
1227
1228 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1229 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1230 public static pbr::MessageDescriptor Descriptor {
1231 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[4]; }
1232 }
1233
1234 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1235 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1236 pbr::MessageDescriptor pb::IMessage.Descriptor {
1237 get { return Descriptor; }
1239
1240 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1241 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1243 OnConstruction();
1244 }
1245
1246 partial void OnConstruction();
1247
1248 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1249 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1251 exprs_ = other.exprs_.Clone();
1252 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1253 }
1254
1255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1257 public AllDifferentConstraintProto Clone() {
1259 }
1260
1262 public const int ExprsFieldNumber = 1;
1263 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
1264 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
1265 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
1266 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1267 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1268 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
1269 get { return exprs_; }
1271
1272 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1273 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1274 public override bool Equals(object other) {
1275 return Equals(other as AllDifferentConstraintProto);
1277
1278 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1279 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1280 public bool Equals(AllDifferentConstraintProto other) {
1281 if (ReferenceEquals(other, null)) {
1282 return false;
1283 }
1284 if (ReferenceEquals(other, this)) {
1285 return true;
1286 }
1287 if(!exprs_.Equals(other.exprs_)) return false;
1288 return Equals(_unknownFields, other._unknownFields);
1289 }
1290
1291 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1292 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1293 public override int GetHashCode() {
1294 int hash = 1;
1295 hash ^= exprs_.GetHashCode();
1296 if (_unknownFields != null) {
1297 hash ^= _unknownFields.GetHashCode();
1298 }
1299 return hash;
1300 }
1302 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1303 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1304 public override string ToString() {
1305 return pb::JsonFormatter.ToDiagnosticString(this);
1306 }
1307
1308 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1309 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1310 public void WriteTo(pb::CodedOutputStream output) {
1311 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1312 output.WriteRawMessage(this);
1313 #else
1314 exprs_.WriteTo(output, _repeated_exprs_codec);
1315 if (_unknownFields != null) {
1316 _unknownFields.WriteTo(output);
1317 }
1318 #endif
1319 }
1320
1321 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1322 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1323 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1324 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1325 exprs_.WriteTo(ref output, _repeated_exprs_codec);
1326 if (_unknownFields != null) {
1327 _unknownFields.WriteTo(ref output);
1328 }
1329 }
1330 #endif
1331
1332 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1333 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1334 public int CalculateSize() {
1335 int size = 0;
1336 size += exprs_.CalculateSize(_repeated_exprs_codec);
1337 if (_unknownFields != null) {
1338 size += _unknownFields.CalculateSize();
1339 }
1340 return size;
1341 }
1343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1345 public void MergeFrom(AllDifferentConstraintProto other) {
1346 if (other == null) {
1347 return;
1348 }
1349 exprs_.Add(other.exprs_);
1350 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1351 }
1352
1353 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1354 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1355 public void MergeFrom(pb::CodedInputStream input) {
1356 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1357 input.ReadRawMessage(this);
1358 #else
1359 uint tag;
1360 while ((tag = input.ReadTag()) != 0) {
1361 if ((tag & 7) == 4) {
1362 // Abort on any end group tag.
1363 return;
1364 }
1365 switch(tag) {
1366 default:
1367 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1368 break;
1369 case 10: {
1370 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
1371 break;
1372 }
1373 }
1374 }
1375 #endif
1376 }
1377
1378 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1379 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1380 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1381 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1382 uint tag;
1383 while ((tag = input.ReadTag()) != 0) {
1384 if ((tag & 7) == 4) {
1385 // Abort on any end group tag.
1386 return;
1387 }
1388 switch(tag) {
1389 default:
1390 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1391 break;
1392 case 10: {
1393 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
1394 break;
1395 }
1396 }
1397 }
1398 }
1399 #endif
1400
1401 }
1402
1410
1411 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1412 public sealed partial class LinearConstraintProto : pb::IMessage<LinearConstraintProto>
1413 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1414 , pb::IBufferMessage
1415 #endif
1416 {
1417 private static readonly pb::MessageParser<LinearConstraintProto> _parser = new pb::MessageParser<LinearConstraintProto>(() => new LinearConstraintProto());
1418 private pb::UnknownFieldSet _unknownFields;
1419 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1420 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1421 public static pb::MessageParser<LinearConstraintProto> Parser { get { return _parser; } }
1422
1423 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1424 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1425 public static pbr::MessageDescriptor Descriptor {
1426 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[5]; }
1427 }
1428
1429 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1430 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1431 pbr::MessageDescriptor pb::IMessage.Descriptor {
1432 get { return Descriptor; }
1433 }
1435 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1436 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1437 public LinearConstraintProto() {
1438 OnConstruction();
1439 }
1440
1441 partial void OnConstruction();
1442
1443 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1444 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1445 public LinearConstraintProto(LinearConstraintProto other) : this() {
1446 vars_ = other.vars_.Clone();
1447 coeffs_ = other.coeffs_.Clone();
1448 domain_ = other.domain_.Clone();
1449 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1450 }
1451
1452 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1453 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1455 return new LinearConstraintProto(this);
1456 }
1457
1459 public const int VarsFieldNumber = 1;
1460 private static readonly pb::FieldCodec<int> _repeated_vars_codec
1461 = pb::FieldCodec.ForInt32(10);
1462 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
1463 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1464 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1465 public pbc::RepeatedField<int> Vars {
1466 get { return vars_; }
1467 }
1470 public const int CoeffsFieldNumber = 2;
1471 private static readonly pb::FieldCodec<long> _repeated_coeffs_codec
1472 = pb::FieldCodec.ForInt64(18);
1473 private readonly pbc::RepeatedField<long> coeffs_ = new pbc::RepeatedField<long>();
1474 /// <summary>
1475 /// Same size as vars.
1476 /// </summary>
1477 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1478 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1479 public pbc::RepeatedField<long> Coeffs {
1480 get { return coeffs_; }
1481 }
1482
1484 public const int DomainFieldNumber = 3;
1485 private static readonly pb::FieldCodec<long> _repeated_domain_codec
1486 = pb::FieldCodec.ForInt64(26);
1487 private readonly pbc::RepeatedField<long> domain_ = new pbc::RepeatedField<long>();
1488 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1489 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1490 public pbc::RepeatedField<long> Domain {
1491 get { return domain_; }
1492 }
1494 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1495 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1496 public override bool Equals(object other) {
1497 return Equals(other as LinearConstraintProto);
1498 }
1500 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1501 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1502 public bool Equals(LinearConstraintProto other) {
1503 if (ReferenceEquals(other, null)) {
1504 return false;
1506 if (ReferenceEquals(other, this)) {
1507 return true;
1508 }
1509 if(!vars_.Equals(other.vars_)) return false;
1510 if(!coeffs_.Equals(other.coeffs_)) return false;
1511 if(!domain_.Equals(other.domain_)) return false;
1512 return Equals(_unknownFields, other._unknownFields);
1513 }
1514
1515 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1516 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1517 public override int GetHashCode() {
1518 int hash = 1;
1519 hash ^= vars_.GetHashCode();
1520 hash ^= coeffs_.GetHashCode();
1521 hash ^= domain_.GetHashCode();
1522 if (_unknownFields != null) {
1523 hash ^= _unknownFields.GetHashCode();
1524 }
1525 return hash;
1527
1528 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1529 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1530 public override string ToString() {
1531 return pb::JsonFormatter.ToDiagnosticString(this);
1532 }
1533
1534 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1535 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1536 public void WriteTo(pb::CodedOutputStream output) {
1537 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1538 output.WriteRawMessage(this);
1539 #else
1540 vars_.WriteTo(output, _repeated_vars_codec);
1541 coeffs_.WriteTo(output, _repeated_coeffs_codec);
1542 domain_.WriteTo(output, _repeated_domain_codec);
1543 if (_unknownFields != null) {
1544 _unknownFields.WriteTo(output);
1546 #endif
1547 }
1548
1549 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1550 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1551 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1552 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1553 vars_.WriteTo(ref output, _repeated_vars_codec);
1554 coeffs_.WriteTo(ref output, _repeated_coeffs_codec);
1555 domain_.WriteTo(ref output, _repeated_domain_codec);
1556 if (_unknownFields != null) {
1557 _unknownFields.WriteTo(ref output);
1558 }
1559 }
1560 #endif
1561
1562 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1563 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1564 public int CalculateSize() {
1565 int size = 0;
1566 size += vars_.CalculateSize(_repeated_vars_codec);
1567 size += coeffs_.CalculateSize(_repeated_coeffs_codec);
1568 size += domain_.CalculateSize(_repeated_domain_codec);
1569 if (_unknownFields != null) {
1570 size += _unknownFields.CalculateSize();
1571 }
1572 return size;
1574
1575 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1576 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1577 public void MergeFrom(LinearConstraintProto other) {
1578 if (other == null) {
1579 return;
1580 }
1581 vars_.Add(other.vars_);
1582 coeffs_.Add(other.coeffs_);
1583 domain_.Add(other.domain_);
1584 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1585 }
1587 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1588 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1589 public void MergeFrom(pb::CodedInputStream input) {
1590 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1591 input.ReadRawMessage(this);
1592 #else
1593 uint tag;
1594 while ((tag = input.ReadTag()) != 0) {
1595 if ((tag & 7) == 4) {
1596 // Abort on any end group tag.
1597 return;
1599 switch(tag) {
1600 default:
1601 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1602 break;
1603 case 10:
1604 case 8: {
1605 vars_.AddEntriesFrom(input, _repeated_vars_codec);
1606 break;
1607 }
1608 case 18:
1609 case 16: {
1610 coeffs_.AddEntriesFrom(input, _repeated_coeffs_codec);
1611 break;
1612 }
1613 case 26:
1614 case 24: {
1615 domain_.AddEntriesFrom(input, _repeated_domain_codec);
1616 break;
1617 }
1618 }
1619 }
1620 #endif
1621 }
1622
1623 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1624 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1625 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1626 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1627 uint tag;
1628 while ((tag = input.ReadTag()) != 0) {
1629 if ((tag & 7) == 4) {
1630 // Abort on any end group tag.
1631 return;
1632 }
1633 switch(tag) {
1634 default:
1635 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1636 break;
1637 case 10:
1638 case 8: {
1639 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
1640 break;
1641 }
1642 case 18:
1643 case 16: {
1644 coeffs_.AddEntriesFrom(ref input, _repeated_coeffs_codec);
1645 break;
1646 }
1647 case 26:
1648 case 24: {
1649 domain_.AddEntriesFrom(ref input, _repeated_domain_codec);
1650 break;
1651 }
1652 }
1653 }
1654 }
1655 #endif
1656
1657 }
1658
1663 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1664 public sealed partial class ElementConstraintProto : pb::IMessage<ElementConstraintProto>
1665 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1666 , pb::IBufferMessage
1667 #endif
1668 {
1669 private static readonly pb::MessageParser<ElementConstraintProto> _parser = new pb::MessageParser<ElementConstraintProto>(() => new ElementConstraintProto());
1670 private pb::UnknownFieldSet _unknownFields;
1671 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1672 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1673 public static pb::MessageParser<ElementConstraintProto> Parser { get { return _parser; } }
1674
1675 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1676 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1677 public static pbr::MessageDescriptor Descriptor {
1678 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[6]; }
1679 }
1680
1681 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1682 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1683 pbr::MessageDescriptor pb::IMessage.Descriptor {
1684 get { return Descriptor; }
1685 }
1687 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1688 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1689 public ElementConstraintProto() {
1690 OnConstruction();
1691 }
1692
1693 partial void OnConstruction();
1694
1695 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1696 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1697 public ElementConstraintProto(ElementConstraintProto other) : this() {
1698 index_ = other.index_;
1699 target_ = other.target_;
1700 vars_ = other.vars_.Clone();
1701 linearIndex_ = other.linearIndex_ != null ? other.linearIndex_.Clone() : null;
1702 linearTarget_ = other.linearTarget_ != null ? other.linearTarget_.Clone() : null;
1703 exprs_ = other.exprs_.Clone();
1704 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1705 }
1707 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1708 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1709 public ElementConstraintProto Clone() {
1710 return new ElementConstraintProto(this);
1711 }
1712
1714 public const int IndexFieldNumber = 1;
1715 private int index_;
1718 /// </summary>
1719 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1720 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1721 public int Index {
1722 get { return index_; }
1723 set {
1724 index_ = value;
1725 }
1726 }
1727
1729 public const int TargetFieldNumber = 2;
1730 private int target_;
1734 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1735 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1736 public int Target {
1737 get { return target_; }
1738 set {
1739 target_ = value;
1740 }
1741 }
1742
1744 public const int VarsFieldNumber = 3;
1745 private static readonly pb::FieldCodec<int> _repeated_vars_codec
1746 = pb::FieldCodec.ForInt32(26);
1747 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
1751 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1752 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1753 public pbc::RepeatedField<int> Vars {
1754 get { return vars_; }
1755 }
1756
1758 public const int LinearIndexFieldNumber = 4;
1759 private global::Google.OrTools.Sat.LinearExpressionProto linearIndex_;
1760 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1761 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1762 public global::Google.OrTools.Sat.LinearExpressionProto LinearIndex {
1763 get { return linearIndex_; }
1764 set {
1765 linearIndex_ = value;
1766 }
1768
1770 public const int LinearTargetFieldNumber = 5;
1771 private global::Google.OrTools.Sat.LinearExpressionProto linearTarget_;
1772 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1773 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1774 public global::Google.OrTools.Sat.LinearExpressionProto LinearTarget {
1775 get { return linearTarget_; }
1776 set {
1777 linearTarget_ = value;
1778 }
1780
1782 public const int ExprsFieldNumber = 6;
1783 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
1784 = pb::FieldCodec.ForMessage(50, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
1785 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
1786 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1787 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1788 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
1789 get { return exprs_; }
1790 }
1792 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1793 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1794 public override bool Equals(object other) {
1795 return Equals(other as ElementConstraintProto);
1796 }
1798 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1799 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1800 public bool Equals(ElementConstraintProto other) {
1801 if (ReferenceEquals(other, null)) {
1802 return false;
1804 if (ReferenceEquals(other, this)) {
1805 return true;
1806 }
1807 if (Index != other.Index) return false;
1808 if (Target != other.Target) return false;
1809 if(!vars_.Equals(other.vars_)) return false;
1810 if (!object.Equals(LinearIndex, other.LinearIndex)) return false;
1811 if (!object.Equals(LinearTarget, other.LinearTarget)) return false;
1812 if(!exprs_.Equals(other.exprs_)) return false;
1813 return Equals(_unknownFields, other._unknownFields);
1814 }
1815
1816 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1817 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1818 public override int GetHashCode() {
1819 int hash = 1;
1820 if (Index != 0) hash ^= Index.GetHashCode();
1821 if (Target != 0) hash ^= Target.GetHashCode();
1822 hash ^= vars_.GetHashCode();
1823 if (linearIndex_ != null) hash ^= LinearIndex.GetHashCode();
1824 if (linearTarget_ != null) hash ^= LinearTarget.GetHashCode();
1825 hash ^= exprs_.GetHashCode();
1826 if (_unknownFields != null) {
1827 hash ^= _unknownFields.GetHashCode();
1828 }
1829 return hash;
1830 }
1831
1832 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1833 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1834 public override string ToString() {
1835 return pb::JsonFormatter.ToDiagnosticString(this);
1836 }
1837
1838 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1839 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1840 public void WriteTo(pb::CodedOutputStream output) {
1841 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1842 output.WriteRawMessage(this);
1843 #else
1844 if (Index != 0) {
1845 output.WriteRawTag(8);
1846 output.WriteInt32(Index);
1847 }
1848 if (Target != 0) {
1849 output.WriteRawTag(16);
1850 output.WriteInt32(Target);
1851 }
1852 vars_.WriteTo(output, _repeated_vars_codec);
1853 if (linearIndex_ != null) {
1854 output.WriteRawTag(34);
1855 output.WriteMessage(LinearIndex);
1856 }
1857 if (linearTarget_ != null) {
1858 output.WriteRawTag(42);
1859 output.WriteMessage(LinearTarget);
1860 }
1861 exprs_.WriteTo(output, _repeated_exprs_codec);
1862 if (_unknownFields != null) {
1863 _unknownFields.WriteTo(output);
1864 }
1865 #endif
1866 }
1867
1868 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1869 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1870 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1871 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1872 if (Index != 0) {
1873 output.WriteRawTag(8);
1874 output.WriteInt32(Index);
1875 }
1876 if (Target != 0) {
1877 output.WriteRawTag(16);
1878 output.WriteInt32(Target);
1879 }
1880 vars_.WriteTo(ref output, _repeated_vars_codec);
1881 if (linearIndex_ != null) {
1882 output.WriteRawTag(34);
1883 output.WriteMessage(LinearIndex);
1884 }
1885 if (linearTarget_ != null) {
1886 output.WriteRawTag(42);
1887 output.WriteMessage(LinearTarget);
1888 }
1889 exprs_.WriteTo(ref output, _repeated_exprs_codec);
1890 if (_unknownFields != null) {
1891 _unknownFields.WriteTo(ref output);
1892 }
1893 }
1894 #endif
1895
1896 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1897 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1898 public int CalculateSize() {
1899 int size = 0;
1900 if (Index != 0) {
1901 size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
1902 }
1903 if (Target != 0) {
1904 size += 1 + pb::CodedOutputStream.ComputeInt32Size(Target);
1905 }
1906 size += vars_.CalculateSize(_repeated_vars_codec);
1907 if (linearIndex_ != null) {
1908 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LinearIndex);
1909 }
1910 if (linearTarget_ != null) {
1911 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LinearTarget);
1912 }
1913 size += exprs_.CalculateSize(_repeated_exprs_codec);
1914 if (_unknownFields != null) {
1915 size += _unknownFields.CalculateSize();
1916 }
1917 return size;
1918 }
1919
1920 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1921 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1922 public void MergeFrom(ElementConstraintProto other) {
1923 if (other == null) {
1924 return;
1925 }
1926 if (other.Index != 0) {
1927 Index = other.Index;
1928 }
1929 if (other.Target != 0) {
1930 Target = other.Target;
1932 vars_.Add(other.vars_);
1933 if (other.linearIndex_ != null) {
1934 if (linearIndex_ == null) {
1935 LinearIndex = new global::Google.OrTools.Sat.LinearExpressionProto();
1936 }
1937 LinearIndex.MergeFrom(other.LinearIndex);
1938 }
1939 if (other.linearTarget_ != null) {
1940 if (linearTarget_ == null) {
1941 LinearTarget = new global::Google.OrTools.Sat.LinearExpressionProto();
1942 }
1943 LinearTarget.MergeFrom(other.LinearTarget);
1944 }
1945 exprs_.Add(other.exprs_);
1946 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1947 }
1948
1949 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1950 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1951 public void MergeFrom(pb::CodedInputStream input) {
1952 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1953 input.ReadRawMessage(this);
1954 #else
1955 uint tag;
1956 while ((tag = input.ReadTag()) != 0) {
1957 if ((tag & 7) == 4) {
1958 // Abort on any end group tag.
1959 return;
1961 switch(tag) {
1962 default:
1963 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1964 break;
1965 case 8: {
1966 Index = input.ReadInt32();
1967 break;
1968 }
1969 case 16: {
1970 Target = input.ReadInt32();
1971 break;
1972 }
1973 case 26:
1974 case 24: {
1975 vars_.AddEntriesFrom(input, _repeated_vars_codec);
1976 break;
1977 }
1978 case 34: {
1979 if (linearIndex_ == null) {
1980 LinearIndex = new global::Google.OrTools.Sat.LinearExpressionProto();
1981 }
1982 input.ReadMessage(LinearIndex);
1983 break;
1984 }
1985 case 42: {
1986 if (linearTarget_ == null) {
1987 LinearTarget = new global::Google.OrTools.Sat.LinearExpressionProto();
1988 }
1989 input.ReadMessage(LinearTarget);
1990 break;
1991 }
1992 case 50: {
1993 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
1994 break;
1995 }
1996 }
1997 }
1998 #endif
1999 }
2000
2001 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2002 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2003 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2004 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2005 uint tag;
2006 while ((tag = input.ReadTag()) != 0) {
2007 if ((tag & 7) == 4) {
2008 // Abort on any end group tag.
2009 return;
2010 }
2011 switch(tag) {
2012 default:
2013 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2014 break;
2015 case 8: {
2016 Index = input.ReadInt32();
2017 break;
2018 }
2019 case 16: {
2020 Target = input.ReadInt32();
2021 break;
2022 }
2023 case 26:
2024 case 24: {
2025 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
2026 break;
2027 }
2028 case 34: {
2029 if (linearIndex_ == null) {
2030 LinearIndex = new global::Google.OrTools.Sat.LinearExpressionProto();
2031 }
2032 input.ReadMessage(LinearIndex);
2033 break;
2034 }
2035 case 42: {
2036 if (linearTarget_ == null) {
2037 LinearTarget = new global::Google.OrTools.Sat.LinearExpressionProto();
2038 }
2039 input.ReadMessage(LinearTarget);
2040 break;
2041 }
2042 case 50: {
2043 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
2044 break;
2045 }
2046 }
2047 }
2048 }
2049 #endif
2050
2051 }
2052
2061
2062 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2063 public sealed partial class IntervalConstraintProto : pb::IMessage<IntervalConstraintProto>
2064 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2065 , pb::IBufferMessage
2066 #endif
2067 {
2068 private static readonly pb::MessageParser<IntervalConstraintProto> _parser = new pb::MessageParser<IntervalConstraintProto>(() => new IntervalConstraintProto());
2069 private pb::UnknownFieldSet _unknownFields;
2070 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2071 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2072 public static pb::MessageParser<IntervalConstraintProto> Parser { get { return _parser; } }
2074 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2075 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2076 public static pbr::MessageDescriptor Descriptor {
2077 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[7]; }
2078 }
2079
2080 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2081 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2082 pbr::MessageDescriptor pb::IMessage.Descriptor {
2083 get { return Descriptor; }
2084 }
2085
2086 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2087 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2088 public IntervalConstraintProto() {
2089 OnConstruction();
2090 }
2091
2092 partial void OnConstruction();
2093
2094 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2095 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2096 public IntervalConstraintProto(IntervalConstraintProto other) : this() {
2097 start_ = other.start_ != null ? other.start_.Clone() : null;
2098 end_ = other.end_ != null ? other.end_.Clone() : null;
2099 size_ = other.size_ != null ? other.size_.Clone() : null;
2100 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2101 }
2102
2103 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2104 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2105 public IntervalConstraintProto Clone() {
2106 return new IntervalConstraintProto(this);
2107 }
2108
2110 public const int StartFieldNumber = 4;
2111 private global::Google.OrTools.Sat.LinearExpressionProto start_;
2112 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2113 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2114 public global::Google.OrTools.Sat.LinearExpressionProto Start {
2115 get { return start_; }
2116 set {
2117 start_ = value;
2118 }
2119 }
2122 public const int EndFieldNumber = 5;
2123 private global::Google.OrTools.Sat.LinearExpressionProto end_;
2124 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2125 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2126 public global::Google.OrTools.Sat.LinearExpressionProto End {
2127 get { return end_; }
2128 set {
2129 end_ = value;
2130 }
2131 }
2134 public const int SizeFieldNumber = 6;
2135 private global::Google.OrTools.Sat.LinearExpressionProto size_;
2136 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2137 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2138 public global::Google.OrTools.Sat.LinearExpressionProto Size {
2139 get { return size_; }
2140 set {
2141 size_ = value;
2142 }
2143 }
2145 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2146 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2147 public override bool Equals(object other) {
2149 }
2150
2151 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2152 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2153 public bool Equals(IntervalConstraintProto other) {
2154 if (ReferenceEquals(other, null)) {
2155 return false;
2156 }
2157 if (ReferenceEquals(other, this)) {
2158 return true;
2159 }
2160 if (!object.Equals(Start, other.Start)) return false;
2161 if (!object.Equals(End, other.End)) return false;
2162 if (!object.Equals(Size, other.Size)) return false;
2163 return Equals(_unknownFields, other._unknownFields);
2164 }
2165
2166 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2167 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2168 public override int GetHashCode() {
2169 int hash = 1;
2170 if (start_ != null) hash ^= Start.GetHashCode();
2171 if (end_ != null) hash ^= End.GetHashCode();
2172 if (size_ != null) hash ^= Size.GetHashCode();
2173 if (_unknownFields != null) {
2174 hash ^= _unknownFields.GetHashCode();
2175 }
2176 return hash;
2177 }
2179 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2180 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2181 public override string ToString() {
2182 return pb::JsonFormatter.ToDiagnosticString(this);
2183 }
2184
2185 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2186 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2187 public void WriteTo(pb::CodedOutputStream output) {
2188 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2189 output.WriteRawMessage(this);
2190 #else
2191 if (start_ != null) {
2192 output.WriteRawTag(34);
2193 output.WriteMessage(Start);
2194 }
2195 if (end_ != null) {
2196 output.WriteRawTag(42);
2197 output.WriteMessage(End);
2198 }
2199 if (size_ != null) {
2200 output.WriteRawTag(50);
2201 output.WriteMessage(Size);
2202 }
2203 if (_unknownFields != null) {
2204 _unknownFields.WriteTo(output);
2205 }
2206 #endif
2207 }
2208
2209 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2210 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2211 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2212 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2213 if (start_ != null) {
2214 output.WriteRawTag(34);
2215 output.WriteMessage(Start);
2216 }
2217 if (end_ != null) {
2218 output.WriteRawTag(42);
2219 output.WriteMessage(End);
2220 }
2221 if (size_ != null) {
2222 output.WriteRawTag(50);
2223 output.WriteMessage(Size);
2224 }
2225 if (_unknownFields != null) {
2226 _unknownFields.WriteTo(ref output);
2227 }
2228 }
2229 #endif
2230
2231 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2232 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2233 public int CalculateSize() {
2234 int size = 0;
2235 if (start_ != null) {
2236 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Start);
2237 }
2238 if (end_ != null) {
2239 size += 1 + pb::CodedOutputStream.ComputeMessageSize(End);
2240 }
2241 if (size_ != null) {
2242 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Size);
2244 if (_unknownFields != null) {
2245 size += _unknownFields.CalculateSize();
2246 }
2247 return size;
2248 }
2249
2250 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2251 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2252 public void MergeFrom(IntervalConstraintProto other) {
2253 if (other == null) {
2254 return;
2255 }
2256 if (other.start_ != null) {
2257 if (start_ == null) {
2258 Start = new global::Google.OrTools.Sat.LinearExpressionProto();
2259 }
2260 Start.MergeFrom(other.Start);
2261 }
2262 if (other.end_ != null) {
2263 if (end_ == null) {
2264 End = new global::Google.OrTools.Sat.LinearExpressionProto();
2265 }
2266 End.MergeFrom(other.End);
2267 }
2268 if (other.size_ != null) {
2269 if (size_ == null) {
2270 Size = new global::Google.OrTools.Sat.LinearExpressionProto();
2271 }
2272 Size.MergeFrom(other.Size);
2273 }
2274 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2275 }
2276
2277 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2278 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2279 public void MergeFrom(pb::CodedInputStream input) {
2280 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2281 input.ReadRawMessage(this);
2282 #else
2283 uint tag;
2284 while ((tag = input.ReadTag()) != 0) {
2285 if ((tag & 7) == 4) {
2286 // Abort on any end group tag.
2287 return;
2288 }
2289 switch(tag) {
2290 default:
2291 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2292 break;
2293 case 34: {
2294 if (start_ == null) {
2295 Start = new global::Google.OrTools.Sat.LinearExpressionProto();
2296 }
2297 input.ReadMessage(Start);
2298 break;
2299 }
2300 case 42: {
2301 if (end_ == null) {
2302 End = new global::Google.OrTools.Sat.LinearExpressionProto();
2303 }
2304 input.ReadMessage(End);
2305 break;
2306 }
2307 case 50: {
2308 if (size_ == null) {
2309 Size = new global::Google.OrTools.Sat.LinearExpressionProto();
2310 }
2311 input.ReadMessage(Size);
2312 break;
2313 }
2314 }
2315 }
2316 #endif
2317 }
2318
2319 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2320 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2321 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2322 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2323 uint tag;
2324 while ((tag = input.ReadTag()) != 0) {
2325 if ((tag & 7) == 4) {
2326 // Abort on any end group tag.
2327 return;
2328 }
2329 switch(tag) {
2330 default:
2331 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2332 break;
2333 case 34: {
2334 if (start_ == null) {
2335 Start = new global::Google.OrTools.Sat.LinearExpressionProto();
2336 }
2337 input.ReadMessage(Start);
2338 break;
2339 }
2340 case 42: {
2341 if (end_ == null) {
2342 End = new global::Google.OrTools.Sat.LinearExpressionProto();
2343 }
2344 input.ReadMessage(End);
2345 break;
2346 }
2347 case 50: {
2348 if (size_ == null) {
2349 Size = new global::Google.OrTools.Sat.LinearExpressionProto();
2350 }
2351 input.ReadMessage(Size);
2352 break;
2353 }
2354 }
2355 }
2356 }
2357 #endif
2358
2359 }
2360
2368 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2369 public sealed partial class NoOverlapConstraintProto : pb::IMessage<NoOverlapConstraintProto>
2370 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2371 , pb::IBufferMessage
2372 #endif
2373 {
2374 private static readonly pb::MessageParser<NoOverlapConstraintProto> _parser = new pb::MessageParser<NoOverlapConstraintProto>(() => new NoOverlapConstraintProto());
2375 private pb::UnknownFieldSet _unknownFields;
2376 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2377 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2378 public static pb::MessageParser<NoOverlapConstraintProto> Parser { get { return _parser; } }
2380 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2381 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2382 public static pbr::MessageDescriptor Descriptor {
2383 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[8]; }
2384 }
2385
2386 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2387 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2388 pbr::MessageDescriptor pb::IMessage.Descriptor {
2389 get { return Descriptor; }
2390 }
2391
2392 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2393 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2394 public NoOverlapConstraintProto() {
2395 OnConstruction();
2396 }
2397
2398 partial void OnConstruction();
2399
2400 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2401 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2402 public NoOverlapConstraintProto(NoOverlapConstraintProto other) : this() {
2403 intervals_ = other.intervals_.Clone();
2404 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2405 }
2406
2407 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2408 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2409 public NoOverlapConstraintProto Clone() {
2410 return new NoOverlapConstraintProto(this);
2411 }
2414 public const int IntervalsFieldNumber = 1;
2415 private static readonly pb::FieldCodec<int> _repeated_intervals_codec
2416 = pb::FieldCodec.ForInt32(10);
2417 private readonly pbc::RepeatedField<int> intervals_ = new pbc::RepeatedField<int>();
2418 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2419 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2420 public pbc::RepeatedField<int> Intervals {
2421 get { return intervals_; }
2422 }
2423
2424 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2425 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2426 public override bool Equals(object other) {
2427 return Equals(other as NoOverlapConstraintProto);
2428 }
2429
2430 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2431 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2432 public bool Equals(NoOverlapConstraintProto other) {
2433 if (ReferenceEquals(other, null)) {
2434 return false;
2435 }
2436 if (ReferenceEquals(other, this)) {
2437 return true;
2438 }
2439 if(!intervals_.Equals(other.intervals_)) return false;
2440 return Equals(_unknownFields, other._unknownFields);
2441 }
2443 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2444 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2445 public override int GetHashCode() {
2446 int hash = 1;
2447 hash ^= intervals_.GetHashCode();
2448 if (_unknownFields != null) {
2449 hash ^= _unknownFields.GetHashCode();
2450 }
2451 return hash;
2452 }
2453
2454 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2455 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2456 public override string ToString() {
2457 return pb::JsonFormatter.ToDiagnosticString(this);
2458 }
2459
2460 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2461 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2462 public void WriteTo(pb::CodedOutputStream output) {
2463 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2464 output.WriteRawMessage(this);
2465 #else
2466 intervals_.WriteTo(output, _repeated_intervals_codec);
2467 if (_unknownFields != null) {
2468 _unknownFields.WriteTo(output);
2469 }
2470 #endif
2471 }
2473 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2474 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2475 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2476 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2477 intervals_.WriteTo(ref output, _repeated_intervals_codec);
2478 if (_unknownFields != null) {
2479 _unknownFields.WriteTo(ref output);
2480 }
2481 }
2482 #endif
2483
2484 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2485 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2486 public int CalculateSize() {
2487 int size = 0;
2488 size += intervals_.CalculateSize(_repeated_intervals_codec);
2489 if (_unknownFields != null) {
2490 size += _unknownFields.CalculateSize();
2491 }
2492 return size;
2493 }
2494
2495 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2496 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2497 public void MergeFrom(NoOverlapConstraintProto other) {
2498 if (other == null) {
2499 return;
2500 }
2501 intervals_.Add(other.intervals_);
2502 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2503 }
2504
2505 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2506 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2507 public void MergeFrom(pb::CodedInputStream input) {
2508 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2509 input.ReadRawMessage(this);
2510 #else
2511 uint tag;
2512 while ((tag = input.ReadTag()) != 0) {
2513 if ((tag & 7) == 4) {
2514 // Abort on any end group tag.
2515 return;
2516 }
2517 switch(tag) {
2518 default:
2519 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2520 break;
2521 case 10:
2522 case 8: {
2523 intervals_.AddEntriesFrom(input, _repeated_intervals_codec);
2524 break;
2525 }
2526 }
2527 }
2528 #endif
2529 }
2530
2531 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2532 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2533 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2534 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2535 uint tag;
2536 while ((tag = input.ReadTag()) != 0) {
2537 if ((tag & 7) == 4) {
2538 // Abort on any end group tag.
2539 return;
2540 }
2541 switch(tag) {
2542 default:
2543 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2544 break;
2545 case 10:
2546 case 8: {
2547 intervals_.AddEntriesFrom(ref input, _repeated_intervals_codec);
2548 break;
2549 }
2550 }
2551 }
2552 }
2553 #endif
2554
2555 }
2556
2566
2568 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2569 public sealed partial class NoOverlap2DConstraintProto : pb::IMessage<NoOverlap2DConstraintProto>
2570 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2571 , pb::IBufferMessage
2572 #endif
2573 {
2574 private static readonly pb::MessageParser<NoOverlap2DConstraintProto> _parser = new pb::MessageParser<NoOverlap2DConstraintProto>(() => new NoOverlap2DConstraintProto());
2575 private pb::UnknownFieldSet _unknownFields;
2576 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2577 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2578 public static pb::MessageParser<NoOverlap2DConstraintProto> Parser { get { return _parser; } }
2579
2580 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2581 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2582 public static pbr::MessageDescriptor Descriptor {
2583 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[9]; }
2584 }
2585
2586 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2587 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2588 pbr::MessageDescriptor pb::IMessage.Descriptor {
2589 get { return Descriptor; }
2590 }
2591
2592 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2593 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2595 OnConstruction();
2596 }
2597
2598 partial void OnConstruction();
2599
2600 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2601 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2603 xIntervals_ = other.xIntervals_.Clone();
2604 yIntervals_ = other.yIntervals_.Clone();
2605 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2606 }
2607
2608 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2609 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2610 public NoOverlap2DConstraintProto Clone() {
2611 return new NoOverlap2DConstraintProto(this);
2612 }
2615 public const int XIntervalsFieldNumber = 1;
2616 private static readonly pb::FieldCodec<int> _repeated_xIntervals_codec
2617 = pb::FieldCodec.ForInt32(10);
2618 private readonly pbc::RepeatedField<int> xIntervals_ = new pbc::RepeatedField<int>();
2619 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2620 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2621 public pbc::RepeatedField<int> XIntervals {
2622 get { return xIntervals_; }
2623 }
2624
2626 public const int YIntervalsFieldNumber = 2;
2627 private static readonly pb::FieldCodec<int> _repeated_yIntervals_codec
2628 = pb::FieldCodec.ForInt32(18);
2629 private readonly pbc::RepeatedField<int> yIntervals_ = new pbc::RepeatedField<int>();
2632 /// </summary>
2633 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2634 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2635 public pbc::RepeatedField<int> YIntervals {
2636 get { return yIntervals_; }
2638
2639 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2640 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2641 public override bool Equals(object other) {
2642 return Equals(other as NoOverlap2DConstraintProto);
2643 }
2644
2645 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2646 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2647 public bool Equals(NoOverlap2DConstraintProto other) {
2648 if (ReferenceEquals(other, null)) {
2649 return false;
2650 }
2651 if (ReferenceEquals(other, this)) {
2652 return true;
2653 }
2654 if(!xIntervals_.Equals(other.xIntervals_)) return false;
2655 if(!yIntervals_.Equals(other.yIntervals_)) return false;
2656 return Equals(_unknownFields, other._unknownFields);
2657 }
2659 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2660 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2661 public override int GetHashCode() {
2662 int hash = 1;
2663 hash ^= xIntervals_.GetHashCode();
2664 hash ^= yIntervals_.GetHashCode();
2665 if (_unknownFields != null) {
2666 hash ^= _unknownFields.GetHashCode();
2667 }
2668 return hash;
2669 }
2670
2671 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2672 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2673 public override string ToString() {
2674 return pb::JsonFormatter.ToDiagnosticString(this);
2675 }
2676
2677 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2678 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2679 public void WriteTo(pb::CodedOutputStream output) {
2680 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2681 output.WriteRawMessage(this);
2682 #else
2683 xIntervals_.WriteTo(output, _repeated_xIntervals_codec);
2684 yIntervals_.WriteTo(output, _repeated_yIntervals_codec);
2685 if (_unknownFields != null) {
2686 _unknownFields.WriteTo(output);
2687 }
2688 #endif
2689 }
2691 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2692 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2693 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2694 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2695 xIntervals_.WriteTo(ref output, _repeated_xIntervals_codec);
2696 yIntervals_.WriteTo(ref output, _repeated_yIntervals_codec);
2697 if (_unknownFields != null) {
2698 _unknownFields.WriteTo(ref output);
2699 }
2700 }
2701 #endif
2702
2703 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2704 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2705 public int CalculateSize() {
2706 int size = 0;
2707 size += xIntervals_.CalculateSize(_repeated_xIntervals_codec);
2708 size += yIntervals_.CalculateSize(_repeated_yIntervals_codec);
2709 if (_unknownFields != null) {
2710 size += _unknownFields.CalculateSize();
2711 }
2712 return size;
2713 }
2714
2715 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2716 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2717 public void MergeFrom(NoOverlap2DConstraintProto other) {
2718 if (other == null) {
2719 return;
2720 }
2721 xIntervals_.Add(other.xIntervals_);
2722 yIntervals_.Add(other.yIntervals_);
2723 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2724 }
2725
2726 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2727 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2728 public void MergeFrom(pb::CodedInputStream input) {
2729 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2730 input.ReadRawMessage(this);
2731 #else
2732 uint tag;
2733 while ((tag = input.ReadTag()) != 0) {
2734 if ((tag & 7) == 4) {
2735 // Abort on any end group tag.
2736 return;
2737 }
2738 switch(tag) {
2739 default:
2740 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2741 break;
2742 case 10:
2743 case 8: {
2744 xIntervals_.AddEntriesFrom(input, _repeated_xIntervals_codec);
2745 break;
2746 }
2747 case 18:
2748 case 16: {
2749 yIntervals_.AddEntriesFrom(input, _repeated_yIntervals_codec);
2750 break;
2751 }
2752 }
2753 }
2754 #endif
2755 }
2756
2757 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2758 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2759 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2760 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2761 uint tag;
2762 while ((tag = input.ReadTag()) != 0) {
2763 if ((tag & 7) == 4) {
2764 // Abort on any end group tag.
2765 return;
2766 }
2767 switch(tag) {
2768 default:
2769 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2770 break;
2771 case 10:
2772 case 8: {
2773 xIntervals_.AddEntriesFrom(ref input, _repeated_xIntervals_codec);
2774 break;
2775 }
2776 case 18:
2777 case 16: {
2778 yIntervals_.AddEntriesFrom(ref input, _repeated_yIntervals_codec);
2779 break;
2780 }
2781 }
2782 }
2783 }
2784 #endif
2785
2786 }
2787
2798
2799 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2800 public sealed partial class CumulativeConstraintProto : pb::IMessage<CumulativeConstraintProto>
2801 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2802 , pb::IBufferMessage
2803 #endif
2804 {
2805 private static readonly pb::MessageParser<CumulativeConstraintProto> _parser = new pb::MessageParser<CumulativeConstraintProto>(() => new CumulativeConstraintProto());
2806 private pb::UnknownFieldSet _unknownFields;
2807 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2808 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2809 public static pb::MessageParser<CumulativeConstraintProto> Parser { get { return _parser; } }
2810
2811 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2812 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2813 public static pbr::MessageDescriptor Descriptor {
2814 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[10]; }
2815 }
2816
2817 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2818 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2819 pbr::MessageDescriptor pb::IMessage.Descriptor {
2820 get { return Descriptor; }
2822
2823 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2824 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2826 OnConstruction();
2827 }
2828
2829 partial void OnConstruction();
2830
2831 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2832 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2834 capacity_ = other.capacity_ != null ? other.capacity_.Clone() : null;
2835 intervals_ = other.intervals_.Clone();
2836 demands_ = other.demands_.Clone();
2837 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2838 }
2839
2840 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2841 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2842 public CumulativeConstraintProto Clone() {
2843 return new CumulativeConstraintProto(this);
2844 }
2847 public const int CapacityFieldNumber = 1;
2848 private global::Google.OrTools.Sat.LinearExpressionProto capacity_;
2849 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2850 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2851 public global::Google.OrTools.Sat.LinearExpressionProto Capacity {
2852 get { return capacity_; }
2853 set {
2854 capacity_ = value;
2855 }
2856 }
2857
2859 public const int IntervalsFieldNumber = 2;
2860 private static readonly pb::FieldCodec<int> _repeated_intervals_codec
2861 = pb::FieldCodec.ForInt32(18);
2862 private readonly pbc::RepeatedField<int> intervals_ = new pbc::RepeatedField<int>();
2863 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2864 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2865 public pbc::RepeatedField<int> Intervals {
2866 get { return intervals_; }
2867 }
2868
2869
2870 public const int DemandsFieldNumber = 3;
2871 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_demands_codec
2872 = pb::FieldCodec.ForMessage(26, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
2873 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> demands_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
2877 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2878 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2879 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Demands {
2880 get { return demands_; }
2881 }
2883 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2884 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2885 public override bool Equals(object other) {
2886 return Equals(other as CumulativeConstraintProto);
2887 }
2888
2889 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2890 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2892 if (ReferenceEquals(other, null)) {
2893 return false;
2894 }
2895 if (ReferenceEquals(other, this)) {
2896 return true;
2898 if (!object.Equals(Capacity, other.Capacity)) return false;
2899 if(!intervals_.Equals(other.intervals_)) return false;
2900 if(!demands_.Equals(other.demands_)) return false;
2901 return Equals(_unknownFields, other._unknownFields);
2902 }
2904 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2905 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2906 public override int GetHashCode() {
2907 int hash = 1;
2908 if (capacity_ != null) hash ^= Capacity.GetHashCode();
2909 hash ^= intervals_.GetHashCode();
2910 hash ^= demands_.GetHashCode();
2911 if (_unknownFields != null) {
2912 hash ^= _unknownFields.GetHashCode();
2913 }
2914 return hash;
2915 }
2916
2917 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2918 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2919 public override string ToString() {
2920 return pb::JsonFormatter.ToDiagnosticString(this);
2921 }
2922
2923 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2924 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2925 public void WriteTo(pb::CodedOutputStream output) {
2926 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2927 output.WriteRawMessage(this);
2928 #else
2929 if (capacity_ != null) {
2930 output.WriteRawTag(10);
2931 output.WriteMessage(Capacity);
2932 }
2933 intervals_.WriteTo(output, _repeated_intervals_codec);
2934 demands_.WriteTo(output, _repeated_demands_codec);
2935 if (_unknownFields != null) {
2936 _unknownFields.WriteTo(output);
2938 #endif
2939 }
2940
2941 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2942 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2943 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2944 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2945 if (capacity_ != null) {
2946 output.WriteRawTag(10);
2947 output.WriteMessage(Capacity);
2948 }
2949 intervals_.WriteTo(ref output, _repeated_intervals_codec);
2950 demands_.WriteTo(ref output, _repeated_demands_codec);
2951 if (_unknownFields != null) {
2952 _unknownFields.WriteTo(ref output);
2953 }
2954 }
2955 #endif
2956
2957 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2958 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2959 public int CalculateSize() {
2960 int size = 0;
2961 if (capacity_ != null) {
2962 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Capacity);
2963 }
2964 size += intervals_.CalculateSize(_repeated_intervals_codec);
2965 size += demands_.CalculateSize(_repeated_demands_codec);
2966 if (_unknownFields != null) {
2967 size += _unknownFields.CalculateSize();
2968 }
2969 return size;
2970 }
2972 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2973 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2974 public void MergeFrom(CumulativeConstraintProto other) {
2975 if (other == null) {
2976 return;
2977 }
2978 if (other.capacity_ != null) {
2979 if (capacity_ == null) {
2980 Capacity = new global::Google.OrTools.Sat.LinearExpressionProto();
2981 }
2982 Capacity.MergeFrom(other.Capacity);
2983 }
2984 intervals_.Add(other.intervals_);
2985 demands_.Add(other.demands_);
2986 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2987 }
2988
2989 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2990 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2991 public void MergeFrom(pb::CodedInputStream input) {
2992 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2993 input.ReadRawMessage(this);
2994 #else
2995 uint tag;
2996 while ((tag = input.ReadTag()) != 0) {
2997 if ((tag & 7) == 4) {
2998 // Abort on any end group tag.
2999 return;
3000 }
3001 switch(tag) {
3002 default:
3003 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3004 break;
3005 case 10: {
3006 if (capacity_ == null) {
3007 Capacity = new global::Google.OrTools.Sat.LinearExpressionProto();
3008 }
3009 input.ReadMessage(Capacity);
3010 break;
3011 }
3012 case 18:
3013 case 16: {
3014 intervals_.AddEntriesFrom(input, _repeated_intervals_codec);
3015 break;
3016 }
3017 case 26: {
3018 demands_.AddEntriesFrom(input, _repeated_demands_codec);
3019 break;
3020 }
3021 }
3022 }
3023 #endif
3024 }
3025
3026 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3027 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3028 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3029 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3030 uint tag;
3031 while ((tag = input.ReadTag()) != 0) {
3032 if ((tag & 7) == 4) {
3033 // Abort on any end group tag.
3034 return;
3035 }
3036 switch(tag) {
3037 default:
3038 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3039 break;
3040 case 10: {
3041 if (capacity_ == null) {
3042 Capacity = new global::Google.OrTools.Sat.LinearExpressionProto();
3043 }
3044 input.ReadMessage(Capacity);
3045 break;
3046 }
3047 case 18:
3048 case 16: {
3049 intervals_.AddEntriesFrom(ref input, _repeated_intervals_codec);
3050 break;
3051 }
3052 case 26: {
3053 demands_.AddEntriesFrom(ref input, _repeated_demands_codec);
3054 break;
3055 }
3056 }
3057 }
3058 }
3059 #endif
3060
3061 }
3062
3074
3081 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3082 public sealed partial class ReservoirConstraintProto : pb::IMessage<ReservoirConstraintProto>
3083 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3084 , pb::IBufferMessage
3085 #endif
3086 {
3087 private static readonly pb::MessageParser<ReservoirConstraintProto> _parser = new pb::MessageParser<ReservoirConstraintProto>(() => new ReservoirConstraintProto());
3088 private pb::UnknownFieldSet _unknownFields;
3089 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3090 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3091 public static pb::MessageParser<ReservoirConstraintProto> Parser { get { return _parser; } }
3092
3093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3095 public static pbr::MessageDescriptor Descriptor {
3096 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[11]; }
3097 }
3099 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3100 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3101 pbr::MessageDescriptor pb::IMessage.Descriptor {
3102 get { return Descriptor; }
3103 }
3104
3105 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3106 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3108 OnConstruction();
3109 }
3110
3111 partial void OnConstruction();
3112
3113 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3114 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3115 public ReservoirConstraintProto(ReservoirConstraintProto other) : this() {
3116 minLevel_ = other.minLevel_;
3117 maxLevel_ = other.maxLevel_;
3118 timeExprs_ = other.timeExprs_.Clone();
3119 levelChanges_ = other.levelChanges_.Clone();
3120 activeLiterals_ = other.activeLiterals_.Clone();
3121 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3122 }
3124 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3125 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3127 return new ReservoirConstraintProto(this);
3128 }
3129
3131 public const int MinLevelFieldNumber = 1;
3132 private long minLevel_;
3133 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3134 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3135 public long MinLevel {
3136 get { return minLevel_; }
3137 set {
3138 minLevel_ = value;
3139 }
3140 }
3141
3142 /// <summary>Field number for the "max_level" field.</summary>
3143 public const int MaxLevelFieldNumber = 2;
3144 private long maxLevel_;
3145 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3146 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3147 public long MaxLevel {
3148 get { return maxLevel_; }
3149 set {
3150 maxLevel_ = value;
3152 }
3153
3155 public const int TimeExprsFieldNumber = 3;
3156 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_timeExprs_codec
3157 = pb::FieldCodec.ForMessage(26, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
3158 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> timeExprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
3159 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3160 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3161 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> TimeExprs {
3162 get { return timeExprs_; }
3164
3166 public const int LevelChangesFieldNumber = 6;
3167 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_levelChanges_codec
3168 = pb::FieldCodec.ForMessage(50, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
3169 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> levelChanges_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
3170 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3171 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3172 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> LevelChanges {
3173 get { return levelChanges_; }
3174 }
3175
3177 public const int ActiveLiteralsFieldNumber = 5;
3178 private static readonly pb::FieldCodec<int> _repeated_activeLiterals_codec
3179 = pb::FieldCodec.ForInt32(42);
3180 private readonly pbc::RepeatedField<int> activeLiterals_ = new pbc::RepeatedField<int>();
3181 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3182 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3183 public pbc::RepeatedField<int> ActiveLiterals {
3184 get { return activeLiterals_; }
3185 }
3186
3187 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3188 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3189 public override bool Equals(object other) {
3190 return Equals(other as ReservoirConstraintProto);
3191 }
3192
3193 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3194 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3195 public bool Equals(ReservoirConstraintProto other) {
3196 if (ReferenceEquals(other, null)) {
3197 return false;
3198 }
3199 if (ReferenceEquals(other, this)) {
3200 return true;
3201 }
3202 if (MinLevel != other.MinLevel) return false;
3203 if (MaxLevel != other.MaxLevel) return false;
3204 if(!timeExprs_.Equals(other.timeExprs_)) return false;
3205 if(!levelChanges_.Equals(other.levelChanges_)) return false;
3206 if(!activeLiterals_.Equals(other.activeLiterals_)) return false;
3207 return Equals(_unknownFields, other._unknownFields);
3208 }
3209
3210 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3211 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3212 public override int GetHashCode() {
3213 int hash = 1;
3214 if (MinLevel != 0L) hash ^= MinLevel.GetHashCode();
3215 if (MaxLevel != 0L) hash ^= MaxLevel.GetHashCode();
3216 hash ^= timeExprs_.GetHashCode();
3217 hash ^= levelChanges_.GetHashCode();
3218 hash ^= activeLiterals_.GetHashCode();
3219 if (_unknownFields != null) {
3220 hash ^= _unknownFields.GetHashCode();
3221 }
3222 return hash;
3223 }
3224
3225 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3226 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3227 public override string ToString() {
3228 return pb::JsonFormatter.ToDiagnosticString(this);
3229 }
3230
3231 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3232 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3233 public void WriteTo(pb::CodedOutputStream output) {
3234 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3235 output.WriteRawMessage(this);
3236 #else
3237 if (MinLevel != 0L) {
3238 output.WriteRawTag(8);
3239 output.WriteInt64(MinLevel);
3240 }
3241 if (MaxLevel != 0L) {
3242 output.WriteRawTag(16);
3243 output.WriteInt64(MaxLevel);
3244 }
3245 timeExprs_.WriteTo(output, _repeated_timeExprs_codec);
3246 activeLiterals_.WriteTo(output, _repeated_activeLiterals_codec);
3247 levelChanges_.WriteTo(output, _repeated_levelChanges_codec);
3248 if (_unknownFields != null) {
3249 _unknownFields.WriteTo(output);
3250 }
3251 #endif
3252 }
3253
3254 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3257 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3258 if (MinLevel != 0L) {
3259 output.WriteRawTag(8);
3260 output.WriteInt64(MinLevel);
3261 }
3262 if (MaxLevel != 0L) {
3263 output.WriteRawTag(16);
3264 output.WriteInt64(MaxLevel);
3265 }
3266 timeExprs_.WriteTo(ref output, _repeated_timeExprs_codec);
3267 activeLiterals_.WriteTo(ref output, _repeated_activeLiterals_codec);
3268 levelChanges_.WriteTo(ref output, _repeated_levelChanges_codec);
3269 if (_unknownFields != null) {
3270 _unknownFields.WriteTo(ref output);
3271 }
3272 }
3273 #endif
3274
3275 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3276 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3277 public int CalculateSize() {
3278 int size = 0;
3279 if (MinLevel != 0L) {
3280 size += 1 + pb::CodedOutputStream.ComputeInt64Size(MinLevel);
3281 }
3282 if (MaxLevel != 0L) {
3283 size += 1 + pb::CodedOutputStream.ComputeInt64Size(MaxLevel);
3284 }
3285 size += timeExprs_.CalculateSize(_repeated_timeExprs_codec);
3286 size += levelChanges_.CalculateSize(_repeated_levelChanges_codec);
3287 size += activeLiterals_.CalculateSize(_repeated_activeLiterals_codec);
3288 if (_unknownFields != null) {
3289 size += _unknownFields.CalculateSize();
3290 }
3291 return size;
3292 }
3294 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3295 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3296 public void MergeFrom(ReservoirConstraintProto other) {
3297 if (other == null) {
3298 return;
3299 }
3300 if (other.MinLevel != 0L) {
3301 MinLevel = other.MinLevel;
3302 }
3303 if (other.MaxLevel != 0L) {
3304 MaxLevel = other.MaxLevel;
3305 }
3306 timeExprs_.Add(other.timeExprs_);
3307 levelChanges_.Add(other.levelChanges_);
3308 activeLiterals_.Add(other.activeLiterals_);
3309 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3310 }
3311
3312 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3313 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3314 public void MergeFrom(pb::CodedInputStream input) {
3315 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3316 input.ReadRawMessage(this);
3317 #else
3318 uint tag;
3319 while ((tag = input.ReadTag()) != 0) {
3320 if ((tag & 7) == 4) {
3321 // Abort on any end group tag.
3322 return;
3323 }
3324 switch(tag) {
3325 default:
3326 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3327 break;
3328 case 8: {
3329 MinLevel = input.ReadInt64();
3330 break;
3331 }
3332 case 16: {
3333 MaxLevel = input.ReadInt64();
3334 break;
3335 }
3336 case 26: {
3337 timeExprs_.AddEntriesFrom(input, _repeated_timeExprs_codec);
3338 break;
3339 }
3340 case 42:
3341 case 40: {
3342 activeLiterals_.AddEntriesFrom(input, _repeated_activeLiterals_codec);
3343 break;
3344 }
3345 case 50: {
3346 levelChanges_.AddEntriesFrom(input, _repeated_levelChanges_codec);
3347 break;
3348 }
3349 }
3350 }
3351 #endif
3352 }
3353
3354 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3355 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3356 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3357 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3358 uint tag;
3359 while ((tag = input.ReadTag()) != 0) {
3360 if ((tag & 7) == 4) {
3361 // Abort on any end group tag.
3362 return;
3363 }
3364 switch(tag) {
3365 default:
3366 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3367 break;
3368 case 8: {
3369 MinLevel = input.ReadInt64();
3370 break;
3371 }
3372 case 16: {
3373 MaxLevel = input.ReadInt64();
3374 break;
3375 }
3376 case 26: {
3377 timeExprs_.AddEntriesFrom(ref input, _repeated_timeExprs_codec);
3378 break;
3379 }
3380 case 42:
3381 case 40: {
3382 activeLiterals_.AddEntriesFrom(ref input, _repeated_activeLiterals_codec);
3383 break;
3384 }
3385 case 50: {
3386 levelChanges_.AddEntriesFrom(ref input, _repeated_levelChanges_codec);
3387 break;
3388 }
3389 }
3390 }
3391 }
3392 #endif
3393
3394 }
3395
3407 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3408 public sealed partial class CircuitConstraintProto : pb::IMessage<CircuitConstraintProto>
3409 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3410 , pb::IBufferMessage
3411 #endif
3412 {
3413 private static readonly pb::MessageParser<CircuitConstraintProto> _parser = new pb::MessageParser<CircuitConstraintProto>(() => new CircuitConstraintProto());
3414 private pb::UnknownFieldSet _unknownFields;
3415 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3416 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3417 public static pb::MessageParser<CircuitConstraintProto> Parser { get { return _parser; } }
3418
3419 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3420 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3421 public static pbr::MessageDescriptor Descriptor {
3422 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[12]; }
3423 }
3424
3425 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3426 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3427 pbr::MessageDescriptor pb::IMessage.Descriptor {
3428 get { return Descriptor; }
3429 }
3430
3431 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3432 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3433 public CircuitConstraintProto() {
3434 OnConstruction();
3435 }
3436
3437 partial void OnConstruction();
3439 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3440 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3441 public CircuitConstraintProto(CircuitConstraintProto other) : this() {
3442 tails_ = other.tails_.Clone();
3443 heads_ = other.heads_.Clone();
3444 literals_ = other.literals_.Clone();
3445 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3446 }
3447
3448 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3449 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3451 return new CircuitConstraintProto(this);
3452 }
3453
3455 public const int TailsFieldNumber = 3;
3456 private static readonly pb::FieldCodec<int> _repeated_tails_codec
3457 = pb::FieldCodec.ForInt32(26);
3458 private readonly pbc::RepeatedField<int> tails_ = new pbc::RepeatedField<int>();
3459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3461 public pbc::RepeatedField<int> Tails {
3462 get { return tails_; }
3463 }
3464
3466 public const int HeadsFieldNumber = 4;
3467 private static readonly pb::FieldCodec<int> _repeated_heads_codec
3468 = pb::FieldCodec.ForInt32(34);
3469 private readonly pbc::RepeatedField<int> heads_ = new pbc::RepeatedField<int>();
3470 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3471 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3472 public pbc::RepeatedField<int> Heads {
3473 get { return heads_; }
3474 }
3475
3477 public const int LiteralsFieldNumber = 5;
3478 private static readonly pb::FieldCodec<int> _repeated_literals_codec
3479 = pb::FieldCodec.ForInt32(42);
3480 private readonly pbc::RepeatedField<int> literals_ = new pbc::RepeatedField<int>();
3481 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3482 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3483 public pbc::RepeatedField<int> Literals {
3484 get { return literals_; }
3485 }
3486
3487 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3488 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3489 public override bool Equals(object other) {
3490 return Equals(other as CircuitConstraintProto);
3491 }
3492
3493 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3494 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3495 public bool Equals(CircuitConstraintProto other) {
3496 if (ReferenceEquals(other, null)) {
3497 return false;
3498 }
3499 if (ReferenceEquals(other, this)) {
3500 return true;
3501 }
3502 if(!tails_.Equals(other.tails_)) return false;
3503 if(!heads_.Equals(other.heads_)) return false;
3504 if(!literals_.Equals(other.literals_)) return false;
3505 return Equals(_unknownFields, other._unknownFields);
3507
3508 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3509 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3510 public override int GetHashCode() {
3511 int hash = 1;
3512 hash ^= tails_.GetHashCode();
3513 hash ^= heads_.GetHashCode();
3514 hash ^= literals_.GetHashCode();
3515 if (_unknownFields != null) {
3516 hash ^= _unknownFields.GetHashCode();
3517 }
3518 return hash;
3519 }
3520
3521 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3522 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3523 public override string ToString() {
3524 return pb::JsonFormatter.ToDiagnosticString(this);
3525 }
3526
3527 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3528 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3529 public void WriteTo(pb::CodedOutputStream output) {
3530 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3531 output.WriteRawMessage(this);
3532 #else
3533 tails_.WriteTo(output, _repeated_tails_codec);
3534 heads_.WriteTo(output, _repeated_heads_codec);
3535 literals_.WriteTo(output, _repeated_literals_codec);
3536 if (_unknownFields != null) {
3537 _unknownFields.WriteTo(output);
3538 }
3539 #endif
3541
3542 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3543 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3544 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3545 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3546 tails_.WriteTo(ref output, _repeated_tails_codec);
3547 heads_.WriteTo(ref output, _repeated_heads_codec);
3548 literals_.WriteTo(ref output, _repeated_literals_codec);
3549 if (_unknownFields != null) {
3550 _unknownFields.WriteTo(ref output);
3551 }
3552 }
3553 #endif
3554
3555 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3556 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3557 public int CalculateSize() {
3558 int size = 0;
3559 size += tails_.CalculateSize(_repeated_tails_codec);
3560 size += heads_.CalculateSize(_repeated_heads_codec);
3561 size += literals_.CalculateSize(_repeated_literals_codec);
3562 if (_unknownFields != null) {
3563 size += _unknownFields.CalculateSize();
3564 }
3565 return size;
3566 }
3567
3568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3570 public void MergeFrom(CircuitConstraintProto other) {
3571 if (other == null) {
3572 return;
3573 }
3574 tails_.Add(other.tails_);
3575 heads_.Add(other.heads_);
3576 literals_.Add(other.literals_);
3577 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3578 }
3579
3580 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3581 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3582 public void MergeFrom(pb::CodedInputStream input) {
3583 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3584 input.ReadRawMessage(this);
3585 #else
3586 uint tag;
3587 while ((tag = input.ReadTag()) != 0) {
3588 if ((tag & 7) == 4) {
3589 // Abort on any end group tag.
3590 return;
3591 }
3592 switch(tag) {
3593 default:
3594 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3595 break;
3596 case 26:
3597 case 24: {
3598 tails_.AddEntriesFrom(input, _repeated_tails_codec);
3599 break;
3600 }
3601 case 34:
3602 case 32: {
3603 heads_.AddEntriesFrom(input, _repeated_heads_codec);
3604 break;
3605 }
3606 case 42:
3607 case 40: {
3608 literals_.AddEntriesFrom(input, _repeated_literals_codec);
3609 break;
3610 }
3611 }
3612 }
3613 #endif
3614 }
3615
3616 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3617 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3618 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3619 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3620 uint tag;
3621 while ((tag = input.ReadTag()) != 0) {
3622 if ((tag & 7) == 4) {
3623 // Abort on any end group tag.
3624 return;
3625 }
3626 switch(tag) {
3627 default:
3628 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3629 break;
3630 case 26:
3631 case 24: {
3632 tails_.AddEntriesFrom(ref input, _repeated_tails_codec);
3633 break;
3634 }
3635 case 34:
3636 case 32: {
3637 heads_.AddEntriesFrom(ref input, _repeated_heads_codec);
3638 break;
3639 }
3640 case 42:
3641 case 40: {
3642 literals_.AddEntriesFrom(ref input, _repeated_literals_codec);
3643 break;
3644 }
3645 }
3646 }
3647 }
3648 #endif
3649
3650 }
3651
3668
3674 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3675 public sealed partial class RoutesConstraintProto : pb::IMessage<RoutesConstraintProto>
3676 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3677 , pb::IBufferMessage
3678 #endif
3679 {
3680 private static readonly pb::MessageParser<RoutesConstraintProto> _parser = new pb::MessageParser<RoutesConstraintProto>(() => new RoutesConstraintProto());
3681 private pb::UnknownFieldSet _unknownFields;
3682 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3683 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3684 public static pb::MessageParser<RoutesConstraintProto> Parser { get { return _parser; } }
3685
3686 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3687 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3688 public static pbr::MessageDescriptor Descriptor {
3689 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[13]; }
3690 }
3691
3692 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3693 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3694 pbr::MessageDescriptor pb::IMessage.Descriptor {
3695 get { return Descriptor; }
3696 }
3697
3698 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3699 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3700 public RoutesConstraintProto() {
3701 OnConstruction();
3702 }
3703
3704 partial void OnConstruction();
3705
3706 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3707 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3709 tails_ = other.tails_.Clone();
3710 heads_ = other.heads_.Clone();
3711 literals_ = other.literals_.Clone();
3712 demands_ = other.demands_.Clone();
3713 capacity_ = other.capacity_;
3714 dimensions_ = other.dimensions_.Clone();
3715 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3716 }
3717
3718 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3719 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3721 return new RoutesConstraintProto(this);
3722 }
3723
3725 public const int TailsFieldNumber = 1;
3726 private static readonly pb::FieldCodec<int> _repeated_tails_codec
3727 = pb::FieldCodec.ForInt32(10);
3728 private readonly pbc::RepeatedField<int> tails_ = new pbc::RepeatedField<int>();
3729 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3730 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3731 public pbc::RepeatedField<int> Tails {
3732 get { return tails_; }
3733 }
3734
3736 public const int HeadsFieldNumber = 2;
3737 private static readonly pb::FieldCodec<int> _repeated_heads_codec
3738 = pb::FieldCodec.ForInt32(18);
3739 private readonly pbc::RepeatedField<int> heads_ = new pbc::RepeatedField<int>();
3740 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3741 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3742 public pbc::RepeatedField<int> Heads {
3743 get { return heads_; }
3744 }
3747 public const int LiteralsFieldNumber = 3;
3748 private static readonly pb::FieldCodec<int> _repeated_literals_codec
3749 = pb::FieldCodec.ForInt32(26);
3750 private readonly pbc::RepeatedField<int> literals_ = new pbc::RepeatedField<int>();
3751 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3752 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3753 public pbc::RepeatedField<int> Literals {
3754 get { return literals_; }
3755 }
3758 public const int DemandsFieldNumber = 4;
3759 private static readonly pb::FieldCodec<int> _repeated_demands_codec
3760 = pb::FieldCodec.ForInt32(34);
3761 private readonly pbc::RepeatedField<int> demands_ = new pbc::RepeatedField<int>();
3762 /// <summary>
3763 /// DEPRECATED. These fields are no longer used. The solver ignores them.
3764 /// </summary>
3765 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3766 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3767 public pbc::RepeatedField<int> Demands {
3768 get { return demands_; }
3769 }
3770
3772 public const int CapacityFieldNumber = 5;
3773 private long capacity_;
3774 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3775 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3776 public long Capacity {
3777 get { return capacity_; }
3778 set {
3779 capacity_ = value;
3780 }
3781 }
3782
3784 public const int DimensionsFieldNumber = 6;
3785 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions> _repeated_dimensions_codec
3786 = pb::FieldCodec.ForMessage(50, global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions.Parser);
3787 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions> dimensions_ = new pbc::RepeatedField<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions>();
3790
3796 /// derive it, from the linear constraints of size 1 or 2 in the model (this
3797 /// can fail in complex cases).
3798 /// </summary>
3799 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3800 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3801 public pbc::RepeatedField<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions> Dimensions {
3802 get { return dimensions_; }
3803 }
3805 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3806 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3807 public override bool Equals(object other) {
3808 return Equals(other as RoutesConstraintProto);
3809 }
3810
3811 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3812 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3813 public bool Equals(RoutesConstraintProto other) {
3814 if (ReferenceEquals(other, null)) {
3815 return false;
3816 }
3817 if (ReferenceEquals(other, this)) {
3818 return true;
3819 }
3820 if(!tails_.Equals(other.tails_)) return false;
3821 if(!heads_.Equals(other.heads_)) return false;
3822 if(!literals_.Equals(other.literals_)) return false;
3823 if(!demands_.Equals(other.demands_)) return false;
3824 if (Capacity != other.Capacity) return false;
3825 if(!dimensions_.Equals(other.dimensions_)) return false;
3826 return Equals(_unknownFields, other._unknownFields);
3828
3829 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3830 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3831 public override int GetHashCode() {
3832 int hash = 1;
3833 hash ^= tails_.GetHashCode();
3834 hash ^= heads_.GetHashCode();
3835 hash ^= literals_.GetHashCode();
3836 hash ^= demands_.GetHashCode();
3837 if (Capacity != 0L) hash ^= Capacity.GetHashCode();
3838 hash ^= dimensions_.GetHashCode();
3839 if (_unknownFields != null) {
3840 hash ^= _unknownFields.GetHashCode();
3841 }
3842 return hash;
3843 }
3844
3845 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3846 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3847 public override string ToString() {
3848 return pb::JsonFormatter.ToDiagnosticString(this);
3849 }
3850
3851 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3852 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3853 public void WriteTo(pb::CodedOutputStream output) {
3854 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3855 output.WriteRawMessage(this);
3856 #else
3857 tails_.WriteTo(output, _repeated_tails_codec);
3858 heads_.WriteTo(output, _repeated_heads_codec);
3859 literals_.WriteTo(output, _repeated_literals_codec);
3860 demands_.WriteTo(output, _repeated_demands_codec);
3861 if (Capacity != 0L) {
3862 output.WriteRawTag(40);
3863 output.WriteInt64(Capacity);
3864 }
3865 dimensions_.WriteTo(output, _repeated_dimensions_codec);
3866 if (_unknownFields != null) {
3867 _unknownFields.WriteTo(output);
3868 }
3869 #endif
3870 }
3871
3872 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3873 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3874 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3875 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3876 tails_.WriteTo(ref output, _repeated_tails_codec);
3877 heads_.WriteTo(ref output, _repeated_heads_codec);
3878 literals_.WriteTo(ref output, _repeated_literals_codec);
3879 demands_.WriteTo(ref output, _repeated_demands_codec);
3880 if (Capacity != 0L) {
3881 output.WriteRawTag(40);
3882 output.WriteInt64(Capacity);
3883 }
3884 dimensions_.WriteTo(ref output, _repeated_dimensions_codec);
3885 if (_unknownFields != null) {
3886 _unknownFields.WriteTo(ref output);
3887 }
3888 }
3889 #endif
3890
3891 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3892 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3893 public int CalculateSize() {
3894 int size = 0;
3895 size += tails_.CalculateSize(_repeated_tails_codec);
3896 size += heads_.CalculateSize(_repeated_heads_codec);
3897 size += literals_.CalculateSize(_repeated_literals_codec);
3898 size += demands_.CalculateSize(_repeated_demands_codec);
3899 if (Capacity != 0L) {
3900 size += 1 + pb::CodedOutputStream.ComputeInt64Size(Capacity);
3901 }
3902 size += dimensions_.CalculateSize(_repeated_dimensions_codec);
3903 if (_unknownFields != null) {
3904 size += _unknownFields.CalculateSize();
3905 }
3906 return size;
3907 }
3908
3909 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3910 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3911 public void MergeFrom(RoutesConstraintProto other) {
3912 if (other == null) {
3913 return;
3914 }
3915 tails_.Add(other.tails_);
3916 heads_.Add(other.heads_);
3917 literals_.Add(other.literals_);
3918 demands_.Add(other.demands_);
3919 if (other.Capacity != 0L) {
3920 Capacity = other.Capacity;
3921 }
3922 dimensions_.Add(other.dimensions_);
3923 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3924 }
3925
3926 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3927 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3928 public void MergeFrom(pb::CodedInputStream input) {
3929 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3930 input.ReadRawMessage(this);
3931 #else
3932 uint tag;
3933 while ((tag = input.ReadTag()) != 0) {
3934 if ((tag & 7) == 4) {
3935 // Abort on any end group tag.
3936 return;
3937 }
3938 switch(tag) {
3939 default:
3940 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3941 break;
3942 case 10:
3943 case 8: {
3944 tails_.AddEntriesFrom(input, _repeated_tails_codec);
3945 break;
3946 }
3947 case 18:
3948 case 16: {
3949 heads_.AddEntriesFrom(input, _repeated_heads_codec);
3950 break;
3951 }
3952 case 26:
3953 case 24: {
3954 literals_.AddEntriesFrom(input, _repeated_literals_codec);
3955 break;
3956 }
3957 case 34:
3958 case 32: {
3959 demands_.AddEntriesFrom(input, _repeated_demands_codec);
3960 break;
3961 }
3962 case 40: {
3963 Capacity = input.ReadInt64();
3964 break;
3965 }
3966 case 50: {
3967 dimensions_.AddEntriesFrom(input, _repeated_dimensions_codec);
3968 break;
3969 }
3970 }
3971 }
3972 #endif
3973 }
3974
3975 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3976 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3977 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3978 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3979 uint tag;
3980 while ((tag = input.ReadTag()) != 0) {
3981 if ((tag & 7) == 4) {
3982 // Abort on any end group tag.
3983 return;
3984 }
3985 switch(tag) {
3986 default:
3987 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3988 break;
3989 case 10:
3990 case 8: {
3991 tails_.AddEntriesFrom(ref input, _repeated_tails_codec);
3992 break;
3993 }
3994 case 18:
3995 case 16: {
3996 heads_.AddEntriesFrom(ref input, _repeated_heads_codec);
3997 break;
3998 }
3999 case 26:
4000 case 24: {
4001 literals_.AddEntriesFrom(ref input, _repeated_literals_codec);
4002 break;
4003 }
4004 case 34:
4005 case 32: {
4006 demands_.AddEntriesFrom(ref input, _repeated_demands_codec);
4007 break;
4008 }
4009 case 40: {
4010 Capacity = input.ReadInt64();
4011 break;
4012 }
4013 case 50: {
4014 dimensions_.AddEntriesFrom(ref input, _repeated_dimensions_codec);
4015 break;
4016 }
4017 }
4018 }
4019 }
4020 #endif
4021
4022 #region Nested types
4024 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4025 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4026 public static partial class Types {
4030 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4031 public sealed partial class NodeExpressions : pb::IMessage<NodeExpressions>
4032 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4033 , pb::IBufferMessage
4034 #endif
4035 {
4036 private static readonly pb::MessageParser<NodeExpressions> _parser = new pb::MessageParser<NodeExpressions>(() => new NodeExpressions());
4037 private pb::UnknownFieldSet _unknownFields;
4038 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4039 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4040 public static pb::MessageParser<NodeExpressions> Parser { get { return _parser; } }
4041
4042 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4043 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4044 public static pbr::MessageDescriptor Descriptor {
4045 get { return global::Google.OrTools.Sat.RoutesConstraintProto.Descriptor.NestedTypes[0]; }
4047
4048 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4049 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4050 pbr::MessageDescriptor pb::IMessage.Descriptor {
4051 get { return Descriptor; }
4052 }
4053
4054 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4055 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4056 public NodeExpressions() {
4057 OnConstruction();
4058 }
4059
4060 partial void OnConstruction();
4061
4062 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4063 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4064 public NodeExpressions(NodeExpressions other) : this() {
4065 exprs_ = other.exprs_.Clone();
4066 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4067 }
4068
4069 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4070 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4071 public NodeExpressions Clone() {
4072 return new NodeExpressions(this);
4073 }
4074
4076 public const int ExprsFieldNumber = 1;
4077 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
4078 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
4079 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
4083 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4084 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4085 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
4086 get { return exprs_; }
4087 }
4088
4089 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4090 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4091 public override bool Equals(object other) {
4092 return Equals(other as NodeExpressions);
4093 }
4094
4095 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4096 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4097 public bool Equals(NodeExpressions other) {
4098 if (ReferenceEquals(other, null)) {
4099 return false;
4100 }
4101 if (ReferenceEquals(other, this)) {
4102 return true;
4103 }
4104 if(!exprs_.Equals(other.exprs_)) return false;
4105 return Equals(_unknownFields, other._unknownFields);
4106 }
4107
4108 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4109 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4110 public override int GetHashCode() {
4111 int hash = 1;
4112 hash ^= exprs_.GetHashCode();
4113 if (_unknownFields != null) {
4114 hash ^= _unknownFields.GetHashCode();
4115 }
4116 return hash;
4118
4119 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4120 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4121 public override string ToString() {
4122 return pb::JsonFormatter.ToDiagnosticString(this);
4123 }
4124
4125 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4126 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4127 public void WriteTo(pb::CodedOutputStream output) {
4128 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4129 output.WriteRawMessage(this);
4130 #else
4131 exprs_.WriteTo(output, _repeated_exprs_codec);
4132 if (_unknownFields != null) {
4133 _unknownFields.WriteTo(output);
4134 }
4135 #endif
4136 }
4137
4138 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4139 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4140 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4141 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4142 exprs_.WriteTo(ref output, _repeated_exprs_codec);
4143 if (_unknownFields != null) {
4144 _unknownFields.WriteTo(ref output);
4145 }
4146 }
4147 #endif
4148
4149 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4150 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4151 public int CalculateSize() {
4152 int size = 0;
4153 size += exprs_.CalculateSize(_repeated_exprs_codec);
4154 if (_unknownFields != null) {
4155 size += _unknownFields.CalculateSize();
4156 }
4157 return size;
4158 }
4159
4160 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4161 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4162 public void MergeFrom(NodeExpressions other) {
4163 if (other == null) {
4164 return;
4165 }
4166 exprs_.Add(other.exprs_);
4167 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4168 }
4169
4170 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4171 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4172 public void MergeFrom(pb::CodedInputStream input) {
4173 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4174 input.ReadRawMessage(this);
4175 #else
4176 uint tag;
4177 while ((tag = input.ReadTag()) != 0) {
4178 if ((tag & 7) == 4) {
4179 // Abort on any end group tag.
4180 return;
4181 }
4182 switch(tag) {
4183 default:
4184 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4185 break;
4186 case 10: {
4187 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
4188 break;
4189 }
4190 }
4191 }
4192 #endif
4193 }
4194
4195 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4196 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4197 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4198 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4199 uint tag;
4200 while ((tag = input.ReadTag()) != 0) {
4201 if ((tag & 7) == 4) {
4202 // Abort on any end group tag.
4203 return;
4204 }
4205 switch(tag) {
4206 default:
4207 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4208 break;
4209 case 10: {
4210 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
4211 break;
4212 }
4213 }
4214 }
4215 }
4216 #endif
4217
4218 }
4219
4220 }
4221 #endregion
4222
4223 }
4224
4237 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4238 public sealed partial class TableConstraintProto : pb::IMessage<TableConstraintProto>
4239 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4240 , pb::IBufferMessage
4241 #endif
4242 {
4243 private static readonly pb::MessageParser<TableConstraintProto> _parser = new pb::MessageParser<TableConstraintProto>(() => new TableConstraintProto());
4244 private pb::UnknownFieldSet _unknownFields;
4245 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4246 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4247 public static pb::MessageParser<TableConstraintProto> Parser { get { return _parser; } }
4248
4249 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4250 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4251 public static pbr::MessageDescriptor Descriptor {
4252 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[14]; }
4253 }
4254
4255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4257 pbr::MessageDescriptor pb::IMessage.Descriptor {
4258 get { return Descriptor; }
4259 }
4260
4261 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4262 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4263 public TableConstraintProto() {
4264 OnConstruction();
4265 }
4266
4267 partial void OnConstruction();
4268
4269 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4270 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4272 vars_ = other.vars_.Clone();
4273 values_ = other.values_.Clone();
4274 exprs_ = other.exprs_.Clone();
4275 negated_ = other.negated_;
4276 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4277 }
4278
4279 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4280 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4281 public TableConstraintProto Clone() {
4282 return new TableConstraintProto(this);
4284
4286 public const int VarsFieldNumber = 1;
4287 private static readonly pb::FieldCodec<int> _repeated_vars_codec
4288 = pb::FieldCodec.ForInt32(10);
4289 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
4291 /// Legacy field.
4292 /// </summary>
4293 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4294 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4295 public pbc::RepeatedField<int> Vars {
4296 get { return vars_; }
4297 }
4298
4300 public const int ValuesFieldNumber = 2;
4301 private static readonly pb::FieldCodec<long> _repeated_values_codec
4302 = pb::FieldCodec.ForInt64(18);
4303 private readonly pbc::RepeatedField<long> values_ = new pbc::RepeatedField<long>();
4304 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4305 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4306 public pbc::RepeatedField<long> Values {
4307 get { return values_; }
4308 }
4309
4311 public const int ExprsFieldNumber = 4;
4312 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
4313 = pb::FieldCodec.ForMessage(34, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
4314 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
4315 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4316 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4317 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
4318 get { return exprs_; }
4319 }
4322 public const int NegatedFieldNumber = 3;
4323 private bool negated_;
4326 /// tuple from a feasible assignment.
4327 /// </summary>
4328 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4329 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4330 public bool Negated {
4331 get { return negated_; }
4332 set {
4333 negated_ = value;
4334 }
4335 }
4336
4337 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4338 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4339 public override bool Equals(object other) {
4340 return Equals(other as TableConstraintProto);
4341 }
4343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4345 public bool Equals(TableConstraintProto other) {
4346 if (ReferenceEquals(other, null)) {
4347 return false;
4348 }
4349 if (ReferenceEquals(other, this)) {
4350 return true;
4351 }
4352 if(!vars_.Equals(other.vars_)) return false;
4353 if(!values_.Equals(other.values_)) return false;
4354 if(!exprs_.Equals(other.exprs_)) return false;
4355 if (Negated != other.Negated) return false;
4356 return Equals(_unknownFields, other._unknownFields);
4357 }
4358
4359 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4360 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4361 public override int GetHashCode() {
4362 int hash = 1;
4363 hash ^= vars_.GetHashCode();
4364 hash ^= values_.GetHashCode();
4365 hash ^= exprs_.GetHashCode();
4366 if (Negated != false) hash ^= Negated.GetHashCode();
4367 if (_unknownFields != null) {
4368 hash ^= _unknownFields.GetHashCode();
4369 }
4370 return hash;
4371 }
4372
4373 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4374 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4375 public override string ToString() {
4376 return pb::JsonFormatter.ToDiagnosticString(this);
4377 }
4378
4379 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4380 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4381 public void WriteTo(pb::CodedOutputStream output) {
4382 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4383 output.WriteRawMessage(this);
4384 #else
4385 vars_.WriteTo(output, _repeated_vars_codec);
4386 values_.WriteTo(output, _repeated_values_codec);
4387 if (Negated != false) {
4388 output.WriteRawTag(24);
4389 output.WriteBool(Negated);
4390 }
4391 exprs_.WriteTo(output, _repeated_exprs_codec);
4392 if (_unknownFields != null) {
4393 _unknownFields.WriteTo(output);
4394 }
4395 #endif
4396 }
4397
4398 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4399 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4400 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4401 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4402 vars_.WriteTo(ref output, _repeated_vars_codec);
4403 values_.WriteTo(ref output, _repeated_values_codec);
4404 if (Negated != false) {
4405 output.WriteRawTag(24);
4406 output.WriteBool(Negated);
4407 }
4408 exprs_.WriteTo(ref output, _repeated_exprs_codec);
4409 if (_unknownFields != null) {
4410 _unknownFields.WriteTo(ref output);
4411 }
4412 }
4413 #endif
4414
4415 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4416 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4417 public int CalculateSize() {
4418 int size = 0;
4419 size += vars_.CalculateSize(_repeated_vars_codec);
4420 size += values_.CalculateSize(_repeated_values_codec);
4421 size += exprs_.CalculateSize(_repeated_exprs_codec);
4422 if (Negated != false) {
4423 size += 1 + 1;
4424 }
4425 if (_unknownFields != null) {
4426 size += _unknownFields.CalculateSize();
4427 }
4428 return size;
4429 }
4430
4431 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4432 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4433 public void MergeFrom(TableConstraintProto other) {
4434 if (other == null) {
4435 return;
4436 }
4437 vars_.Add(other.vars_);
4438 values_.Add(other.values_);
4439 exprs_.Add(other.exprs_);
4440 if (other.Negated != false) {
4441 Negated = other.Negated;
4442 }
4443 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4444 }
4445
4446 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4447 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4448 public void MergeFrom(pb::CodedInputStream input) {
4449 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4450 input.ReadRawMessage(this);
4451 #else
4452 uint tag;
4453 while ((tag = input.ReadTag()) != 0) {
4454 if ((tag & 7) == 4) {
4455 // Abort on any end group tag.
4456 return;
4457 }
4458 switch(tag) {
4459 default:
4460 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4461 break;
4462 case 10:
4463 case 8: {
4464 vars_.AddEntriesFrom(input, _repeated_vars_codec);
4465 break;
4466 }
4467 case 18:
4468 case 16: {
4469 values_.AddEntriesFrom(input, _repeated_values_codec);
4470 break;
4471 }
4472 case 24: {
4473 Negated = input.ReadBool();
4474 break;
4475 }
4476 case 34: {
4477 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
4478 break;
4479 }
4480 }
4481 }
4482 #endif
4483 }
4484
4485 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4486 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4487 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4488 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4489 uint tag;
4490 while ((tag = input.ReadTag()) != 0) {
4491 if ((tag & 7) == 4) {
4492 // Abort on any end group tag.
4493 return;
4494 }
4495 switch(tag) {
4496 default:
4497 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4498 break;
4499 case 10:
4500 case 8: {
4501 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
4502 break;
4503 }
4504 case 18:
4505 case 16: {
4506 values_.AddEntriesFrom(ref input, _repeated_values_codec);
4507 break;
4508 }
4509 case 24: {
4510 Negated = input.ReadBool();
4511 break;
4512 }
4513 case 34: {
4514 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
4515 break;
4516 }
4517 }
4518 }
4519 }
4520 #endif
4521
4522 }
4523
4528 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4529 public sealed partial class InverseConstraintProto : pb::IMessage<InverseConstraintProto>
4530 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4531 , pb::IBufferMessage
4532 #endif
4533 {
4534 private static readonly pb::MessageParser<InverseConstraintProto> _parser = new pb::MessageParser<InverseConstraintProto>(() => new InverseConstraintProto());
4535 private pb::UnknownFieldSet _unknownFields;
4536 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4537 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4538 public static pb::MessageParser<InverseConstraintProto> Parser { get { return _parser; } }
4539
4540 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4541 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4542 public static pbr::MessageDescriptor Descriptor {
4543 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[15]; }
4544 }
4545
4546 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4547 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4548 pbr::MessageDescriptor pb::IMessage.Descriptor {
4549 get { return Descriptor; }
4550 }
4551
4552 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4553 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4554 public InverseConstraintProto() {
4555 OnConstruction();
4556 }
4557
4558 partial void OnConstruction();
4559
4560 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4561 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4563 fDirect_ = other.fDirect_.Clone();
4564 fInverse_ = other.fInverse_.Clone();
4565 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4566 }
4567
4568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4570 public InverseConstraintProto Clone() {
4571 return new InverseConstraintProto(this);
4572 }
4573
4574 /// <summary>Field number for the "f_direct" field.</summary>
4575 public const int FDirectFieldNumber = 1;
4576 private static readonly pb::FieldCodec<int> _repeated_fDirect_codec
4577 = pb::FieldCodec.ForInt32(10);
4578 private readonly pbc::RepeatedField<int> fDirect_ = new pbc::RepeatedField<int>();
4579 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4580 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4581 public pbc::RepeatedField<int> FDirect {
4582 get { return fDirect_; }
4583 }
4584
4586 public const int FInverseFieldNumber = 2;
4587 private static readonly pb::FieldCodec<int> _repeated_fInverse_codec
4588 = pb::FieldCodec.ForInt32(18);
4589 private readonly pbc::RepeatedField<int> fInverse_ = new pbc::RepeatedField<int>();
4590 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4591 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4592 public pbc::RepeatedField<int> FInverse {
4593 get { return fInverse_; }
4594 }
4596 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4597 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4598 public override bool Equals(object other) {
4599 return Equals(other as InverseConstraintProto);
4600 }
4602 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4603 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4604 public bool Equals(InverseConstraintProto other) {
4605 if (ReferenceEquals(other, null)) {
4606 return false;
4607 }
4608 if (ReferenceEquals(other, this)) {
4609 return true;
4610 }
4611 if(!fDirect_.Equals(other.fDirect_)) return false;
4612 if(!fInverse_.Equals(other.fInverse_)) return false;
4613 return Equals(_unknownFields, other._unknownFields);
4614 }
4615
4616 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4617 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4618 public override int GetHashCode() {
4619 int hash = 1;
4620 hash ^= fDirect_.GetHashCode();
4621 hash ^= fInverse_.GetHashCode();
4622 if (_unknownFields != null) {
4623 hash ^= _unknownFields.GetHashCode();
4625 return hash;
4626 }
4627
4628 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4629 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4630 public override string ToString() {
4631 return pb::JsonFormatter.ToDiagnosticString(this);
4632 }
4633
4634 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4635 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4636 public void WriteTo(pb::CodedOutputStream output) {
4637 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4638 output.WriteRawMessage(this);
4639 #else
4640 fDirect_.WriteTo(output, _repeated_fDirect_codec);
4641 fInverse_.WriteTo(output, _repeated_fInverse_codec);
4642 if (_unknownFields != null) {
4643 _unknownFields.WriteTo(output);
4644 }
4645 #endif
4646 }
4647
4648 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4649 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4650 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4651 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4652 fDirect_.WriteTo(ref output, _repeated_fDirect_codec);
4653 fInverse_.WriteTo(ref output, _repeated_fInverse_codec);
4654 if (_unknownFields != null) {
4655 _unknownFields.WriteTo(ref output);
4657 }
4658 #endif
4659
4660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4662 public int CalculateSize() {
4663 int size = 0;
4664 size += fDirect_.CalculateSize(_repeated_fDirect_codec);
4665 size += fInverse_.CalculateSize(_repeated_fInverse_codec);
4666 if (_unknownFields != null) {
4667 size += _unknownFields.CalculateSize();
4668 }
4669 return size;
4670 }
4671
4672 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4673 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4674 public void MergeFrom(InverseConstraintProto other) {
4675 if (other == null) {
4676 return;
4677 }
4678 fDirect_.Add(other.fDirect_);
4679 fInverse_.Add(other.fInverse_);
4680 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4681 }
4683 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4684 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4685 public void MergeFrom(pb::CodedInputStream input) {
4686 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4687 input.ReadRawMessage(this);
4688 #else
4689 uint tag;
4690 while ((tag = input.ReadTag()) != 0) {
4691 if ((tag & 7) == 4) {
4692 // Abort on any end group tag.
4693 return;
4695 switch(tag) {
4696 default:
4697 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4698 break;
4699 case 10:
4700 case 8: {
4701 fDirect_.AddEntriesFrom(input, _repeated_fDirect_codec);
4702 break;
4703 }
4704 case 18:
4705 case 16: {
4706 fInverse_.AddEntriesFrom(input, _repeated_fInverse_codec);
4707 break;
4708 }
4709 }
4710 }
4711 #endif
4712 }
4713
4714 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4715 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4716 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4717 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4718 uint tag;
4719 while ((tag = input.ReadTag()) != 0) {
4720 if ((tag & 7) == 4) {
4721 // Abort on any end group tag.
4722 return;
4723 }
4724 switch(tag) {
4725 default:
4726 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4727 break;
4728 case 10:
4729 case 8: {
4730 fDirect_.AddEntriesFrom(ref input, _repeated_fDirect_codec);
4731 break;
4732 }
4733 case 18:
4734 case 16: {
4735 fInverse_.AddEntriesFrom(ref input, _repeated_fInverse_codec);
4736 break;
4737 }
4738 }
4739 }
4740 }
4741 #endif
4742
4743 }
4744
4749 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4750 public sealed partial class AutomatonConstraintProto : pb::IMessage<AutomatonConstraintProto>
4751 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4752 , pb::IBufferMessage
4753 #endif
4754 {
4755 private static readonly pb::MessageParser<AutomatonConstraintProto> _parser = new pb::MessageParser<AutomatonConstraintProto>(() => new AutomatonConstraintProto());
4756 private pb::UnknownFieldSet _unknownFields;
4757 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4758 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4759 public static pb::MessageParser<AutomatonConstraintProto> Parser { get { return _parser; } }
4760
4761 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4762 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4763 public static pbr::MessageDescriptor Descriptor {
4764 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[16]; }
4765 }
4766
4767 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4768 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4769 pbr::MessageDescriptor pb::IMessage.Descriptor {
4770 get { return Descriptor; }
4771 }
4772
4773 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4774 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4775 public AutomatonConstraintProto() {
4776 OnConstruction();
4777 }
4778
4779 partial void OnConstruction();
4780
4781 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4782 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4784 startingState_ = other.startingState_;
4785 finalStates_ = other.finalStates_.Clone();
4786 transitionTail_ = other.transitionTail_.Clone();
4787 transitionHead_ = other.transitionHead_.Clone();
4788 transitionLabel_ = other.transitionLabel_.Clone();
4789 vars_ = other.vars_.Clone();
4790 exprs_ = other.exprs_.Clone();
4791 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4792 }
4793
4794 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4795 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4797 return new AutomatonConstraintProto(this);
4798 }
4799
4801 public const int StartingStateFieldNumber = 2;
4802 private long startingState_;
4803 /// <summary>
4804 /// A state is identified by a non-negative number. It is preferable to keep
4805 /// all the states dense in says [0, num_states). The automaton starts at
4806 /// starting_state and must finish in any of the final states.
4807 /// </summary>
4808 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4809 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4810 public long StartingState {
4811 get { return startingState_; }
4812 set {
4813 startingState_ = value;
4814 }
4815 }
4818 public const int FinalStatesFieldNumber = 3;
4819 private static readonly pb::FieldCodec<long> _repeated_finalStates_codec
4820 = pb::FieldCodec.ForInt64(26);
4821 private readonly pbc::RepeatedField<long> finalStates_ = new pbc::RepeatedField<long>();
4822 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4823 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4824 public pbc::RepeatedField<long> FinalStates {
4825 get { return finalStates_; }
4826 }
4827
4829 public const int TransitionTailFieldNumber = 4;
4830 private static readonly pb::FieldCodec<long> _repeated_transitionTail_codec
4831 = pb::FieldCodec.ForInt64(34);
4832 private readonly pbc::RepeatedField<long> transitionTail_ = new pbc::RepeatedField<long>();
4836
4838 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4839 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4840 public pbc::RepeatedField<long> TransitionTail {
4841 get { return transitionTail_; }
4842 }
4843
4844 /// <summary>Field number for the "transition_head" field.</summary>
4845 public const int TransitionHeadFieldNumber = 5;
4846 private static readonly pb::FieldCodec<long> _repeated_transitionHead_codec
4847 = pb::FieldCodec.ForInt64(42);
4848 private readonly pbc::RepeatedField<long> transitionHead_ = new pbc::RepeatedField<long>();
4849 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4850 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4851 public pbc::RepeatedField<long> TransitionHead {
4852 get { return transitionHead_; }
4853 }
4854
4856 public const int TransitionLabelFieldNumber = 6;
4857 private static readonly pb::FieldCodec<long> _repeated_transitionLabel_codec
4858 = pb::FieldCodec.ForInt64(50);
4859 private readonly pbc::RepeatedField<long> transitionLabel_ = new pbc::RepeatedField<long>();
4860 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4861 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4862 public pbc::RepeatedField<long> TransitionLabel {
4863 get { return transitionLabel_; }
4864 }
4867 public const int VarsFieldNumber = 7;
4868 private static readonly pb::FieldCodec<int> _repeated_vars_codec
4869 = pb::FieldCodec.ForInt32(58);
4870 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
4871 /// <summary>
4872 /// Legacy field.
4873 /// </summary>
4874 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4875 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4876 public pbc::RepeatedField<int> Vars {
4877 get { return vars_; }
4878 }
4879
4881 public const int ExprsFieldNumber = 8;
4882 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
4883 = pb::FieldCodec.ForMessage(66, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
4884 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
4885
4889 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4890 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4891 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
4892 get { return exprs_; }
4893 }
4894
4895 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4896 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4897 public override bool Equals(object other) {
4898 return Equals(other as AutomatonConstraintProto);
4899 }
4900
4901 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4902 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4903 public bool Equals(AutomatonConstraintProto other) {
4904 if (ReferenceEquals(other, null)) {
4905 return false;
4906 }
4907 if (ReferenceEquals(other, this)) {
4908 return true;
4909 }
4910 if (StartingState != other.StartingState) return false;
4911 if(!finalStates_.Equals(other.finalStates_)) return false;
4912 if(!transitionTail_.Equals(other.transitionTail_)) return false;
4913 if(!transitionHead_.Equals(other.transitionHead_)) return false;
4914 if(!transitionLabel_.Equals(other.transitionLabel_)) return false;
4915 if(!vars_.Equals(other.vars_)) return false;
4916 if(!exprs_.Equals(other.exprs_)) return false;
4917 return Equals(_unknownFields, other._unknownFields);
4918 }
4919
4920 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4921 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4922 public override int GetHashCode() {
4923 int hash = 1;
4924 if (StartingState != 0L) hash ^= StartingState.GetHashCode();
4925 hash ^= finalStates_.GetHashCode();
4926 hash ^= transitionTail_.GetHashCode();
4927 hash ^= transitionHead_.GetHashCode();
4928 hash ^= transitionLabel_.GetHashCode();
4929 hash ^= vars_.GetHashCode();
4930 hash ^= exprs_.GetHashCode();
4931 if (_unknownFields != null) {
4932 hash ^= _unknownFields.GetHashCode();
4933 }
4934 return hash;
4935 }
4936
4937 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4938 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4939 public override string ToString() {
4940 return pb::JsonFormatter.ToDiagnosticString(this);
4941 }
4943 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4944 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4945 public void WriteTo(pb::CodedOutputStream output) {
4946 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4947 output.WriteRawMessage(this);
4948 #else
4949 if (StartingState != 0L) {
4950 output.WriteRawTag(16);
4951 output.WriteInt64(StartingState);
4952 }
4953 finalStates_.WriteTo(output, _repeated_finalStates_codec);
4954 transitionTail_.WriteTo(output, _repeated_transitionTail_codec);
4955 transitionHead_.WriteTo(output, _repeated_transitionHead_codec);
4956 transitionLabel_.WriteTo(output, _repeated_transitionLabel_codec);
4957 vars_.WriteTo(output, _repeated_vars_codec);
4958 exprs_.WriteTo(output, _repeated_exprs_codec);
4959 if (_unknownFields != null) {
4960 _unknownFields.WriteTo(output);
4961 }
4962 #endif
4963 }
4964
4965 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4966 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4967 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4968 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4969 if (StartingState != 0L) {
4970 output.WriteRawTag(16);
4971 output.WriteInt64(StartingState);
4972 }
4973 finalStates_.WriteTo(ref output, _repeated_finalStates_codec);
4974 transitionTail_.WriteTo(ref output, _repeated_transitionTail_codec);
4975 transitionHead_.WriteTo(ref output, _repeated_transitionHead_codec);
4976 transitionLabel_.WriteTo(ref output, _repeated_transitionLabel_codec);
4977 vars_.WriteTo(ref output, _repeated_vars_codec);
4978 exprs_.WriteTo(ref output, _repeated_exprs_codec);
4979 if (_unknownFields != null) {
4980 _unknownFields.WriteTo(ref output);
4981 }
4982 }
4983 #endif
4984
4985 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4986 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4987 public int CalculateSize() {
4988 int size = 0;
4989 if (StartingState != 0L) {
4990 size += 1 + pb::CodedOutputStream.ComputeInt64Size(StartingState);
4991 }
4992 size += finalStates_.CalculateSize(_repeated_finalStates_codec);
4993 size += transitionTail_.CalculateSize(_repeated_transitionTail_codec);
4994 size += transitionHead_.CalculateSize(_repeated_transitionHead_codec);
4995 size += transitionLabel_.CalculateSize(_repeated_transitionLabel_codec);
4996 size += vars_.CalculateSize(_repeated_vars_codec);
4997 size += exprs_.CalculateSize(_repeated_exprs_codec);
4998 if (_unknownFields != null) {
4999 size += _unknownFields.CalculateSize();
5000 }
5001 return size;
5002 }
5003
5004 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5005 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5006 public void MergeFrom(AutomatonConstraintProto other) {
5007 if (other == null) {
5008 return;
5009 }
5010 if (other.StartingState != 0L) {
5011 StartingState = other.StartingState;
5012 }
5013 finalStates_.Add(other.finalStates_);
5014 transitionTail_.Add(other.transitionTail_);
5015 transitionHead_.Add(other.transitionHead_);
5016 transitionLabel_.Add(other.transitionLabel_);
5017 vars_.Add(other.vars_);
5018 exprs_.Add(other.exprs_);
5019 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5020 }
5021
5022 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5023 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5024 public void MergeFrom(pb::CodedInputStream input) {
5025 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5026 input.ReadRawMessage(this);
5027 #else
5028 uint tag;
5029 while ((tag = input.ReadTag()) != 0) {
5030 if ((tag & 7) == 4) {
5031 // Abort on any end group tag.
5032 return;
5033 }
5034 switch(tag) {
5035 default:
5036 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5037 break;
5038 case 16: {
5039 StartingState = input.ReadInt64();
5040 break;
5041 }
5042 case 26:
5043 case 24: {
5044 finalStates_.AddEntriesFrom(input, _repeated_finalStates_codec);
5045 break;
5046 }
5047 case 34:
5048 case 32: {
5049 transitionTail_.AddEntriesFrom(input, _repeated_transitionTail_codec);
5050 break;
5051 }
5052 case 42:
5053 case 40: {
5054 transitionHead_.AddEntriesFrom(input, _repeated_transitionHead_codec);
5055 break;
5056 }
5057 case 50:
5058 case 48: {
5059 transitionLabel_.AddEntriesFrom(input, _repeated_transitionLabel_codec);
5060 break;
5061 }
5062 case 58:
5063 case 56: {
5064 vars_.AddEntriesFrom(input, _repeated_vars_codec);
5065 break;
5066 }
5067 case 66: {
5068 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
5069 break;
5070 }
5071 }
5072 }
5073 #endif
5074 }
5075
5076 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5079 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5080 uint tag;
5081 while ((tag = input.ReadTag()) != 0) {
5082 if ((tag & 7) == 4) {
5083 // Abort on any end group tag.
5084 return;
5085 }
5086 switch(tag) {
5087 default:
5088 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5089 break;
5090 case 16: {
5091 StartingState = input.ReadInt64();
5092 break;
5093 }
5094 case 26:
5095 case 24: {
5096 finalStates_.AddEntriesFrom(ref input, _repeated_finalStates_codec);
5097 break;
5098 }
5099 case 34:
5100 case 32: {
5101 transitionTail_.AddEntriesFrom(ref input, _repeated_transitionTail_codec);
5102 break;
5103 }
5104 case 42:
5105 case 40: {
5106 transitionHead_.AddEntriesFrom(ref input, _repeated_transitionHead_codec);
5107 break;
5108 }
5109 case 50:
5110 case 48: {
5111 transitionLabel_.AddEntriesFrom(ref input, _repeated_transitionLabel_codec);
5112 break;
5113 }
5114 case 58:
5115 case 56: {
5116 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
5117 break;
5118 }
5119 case 66: {
5120 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
5121 break;
5122 }
5123 }
5124 }
5125 }
5126 #endif
5127
5128 }
5129
5133 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
5134 public sealed partial class ListOfVariablesProto : pb::IMessage<ListOfVariablesProto>
5135 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5136 , pb::IBufferMessage
5137 #endif
5138 {
5139 private static readonly pb::MessageParser<ListOfVariablesProto> _parser = new pb::MessageParser<ListOfVariablesProto>(() => new ListOfVariablesProto());
5140 private pb::UnknownFieldSet _unknownFields;
5141 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5142 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5143 public static pb::MessageParser<ListOfVariablesProto> Parser { get { return _parser; } }
5144
5145 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5146 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5147 public static pbr::MessageDescriptor Descriptor {
5148 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[17]; }
5149 }
5150
5151 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5152 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5153 pbr::MessageDescriptor pb::IMessage.Descriptor {
5154 get { return Descriptor; }
5155 }
5156
5157 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5158 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5159 public ListOfVariablesProto() {
5160 OnConstruction();
5161 }
5162
5163 partial void OnConstruction();
5164
5165 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5166 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5168 vars_ = other.vars_.Clone();
5169 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5170 }
5171
5172 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5173 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5174 public ListOfVariablesProto Clone() {
5175 return new ListOfVariablesProto(this);
5176 }
5177
5179 public const int VarsFieldNumber = 1;
5180 private static readonly pb::FieldCodec<int> _repeated_vars_codec
5181 = pb::FieldCodec.ForInt32(10);
5182 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
5183 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5184 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5185 public pbc::RepeatedField<int> Vars {
5186 get { return vars_; }
5188
5189 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5190 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5191 public override bool Equals(object other) {
5192 return Equals(other as ListOfVariablesProto);
5193 }
5195 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5196 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5197 public bool Equals(ListOfVariablesProto other) {
5198 if (ReferenceEquals(other, null)) {
5199 return false;
5200 }
5201 if (ReferenceEquals(other, this)) {
5202 return true;
5203 }
5204 if(!vars_.Equals(other.vars_)) return false;
5205 return Equals(_unknownFields, other._unknownFields);
5206 }
5207
5208 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5209 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5210 public override int GetHashCode() {
5211 int hash = 1;
5212 hash ^= vars_.GetHashCode();
5213 if (_unknownFields != null) {
5214 hash ^= _unknownFields.GetHashCode();
5215 }
5216 return hash;
5218
5219 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5220 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5221 public override string ToString() {
5222 return pb::JsonFormatter.ToDiagnosticString(this);
5223 }
5224
5225 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5226 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5227 public void WriteTo(pb::CodedOutputStream output) {
5228 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5229 output.WriteRawMessage(this);
5230 #else
5231 vars_.WriteTo(output, _repeated_vars_codec);
5232 if (_unknownFields != null) {
5233 _unknownFields.WriteTo(output);
5234 }
5235 #endif
5236 }
5237
5238 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5239 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5240 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5241 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5242 vars_.WriteTo(ref output, _repeated_vars_codec);
5243 if (_unknownFields != null) {
5244 _unknownFields.WriteTo(ref output);
5245 }
5246 }
5247 #endif
5248
5249 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5250 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5251 public int CalculateSize() {
5252 int size = 0;
5253 size += vars_.CalculateSize(_repeated_vars_codec);
5254 if (_unknownFields != null) {
5255 size += _unknownFields.CalculateSize();
5256 }
5257 return size;
5258 }
5259
5260 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5261 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5262 public void MergeFrom(ListOfVariablesProto other) {
5263 if (other == null) {
5264 return;
5265 }
5266 vars_.Add(other.vars_);
5267 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5268 }
5269
5270 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5271 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5272 public void MergeFrom(pb::CodedInputStream input) {
5273 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5274 input.ReadRawMessage(this);
5275 #else
5276 uint tag;
5277 while ((tag = input.ReadTag()) != 0) {
5278 if ((tag & 7) == 4) {
5279 // Abort on any end group tag.
5280 return;
5281 }
5282 switch(tag) {
5283 default:
5284 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5285 break;
5286 case 10:
5287 case 8: {
5288 vars_.AddEntriesFrom(input, _repeated_vars_codec);
5289 break;
5290 }
5291 }
5293 #endif
5294 }
5295
5296 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5297 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5298 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5299 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5300 uint tag;
5301 while ((tag = input.ReadTag()) != 0) {
5302 if ((tag & 7) == 4) {
5303 // Abort on any end group tag.
5304 return;
5305 }
5306 switch(tag) {
5307 default:
5308 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5309 break;
5310 case 10:
5311 case 8: {
5312 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
5313 break;
5314 }
5315 }
5316 }
5317 }
5318 #endif
5319
5320 }
5321
5325 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
5326 public sealed partial class ConstraintProto : pb::IMessage<ConstraintProto>
5327 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5328 , pb::IBufferMessage
5329 #endif
5330 {
5331 private static readonly pb::MessageParser<ConstraintProto> _parser = new pb::MessageParser<ConstraintProto>(() => new ConstraintProto());
5332 private pb::UnknownFieldSet _unknownFields;
5333 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5334 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5335 public static pb::MessageParser<ConstraintProto> Parser { get { return _parser; } }
5336
5337 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5338 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5339 public static pbr::MessageDescriptor Descriptor {
5340 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[18]; }
5341 }
5342
5343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5345 pbr::MessageDescriptor pb::IMessage.Descriptor {
5346 get { return Descriptor; }
5347 }
5348
5349 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5350 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5351 public ConstraintProto() {
5352 OnConstruction();
5353 }
5354
5355 partial void OnConstruction();
5356
5357 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5358 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5359 public ConstraintProto(ConstraintProto other) : this() {
5360 name_ = other.name_;
5361 enforcementLiteral_ = other.enforcementLiteral_.Clone();
5362 switch (other.ConstraintCase) {
5363 case ConstraintOneofCase.BoolOr:
5364 BoolOr = other.BoolOr.Clone();
5365 break;
5366 case ConstraintOneofCase.BoolAnd:
5367 BoolAnd = other.BoolAnd.Clone();
5368 break;
5369 case ConstraintOneofCase.AtMostOne:
5370 AtMostOne = other.AtMostOne.Clone();
5371 break;
5372 case ConstraintOneofCase.ExactlyOne:
5373 ExactlyOne = other.ExactlyOne.Clone();
5374 break;
5375 case ConstraintOneofCase.BoolXor:
5376 BoolXor = other.BoolXor.Clone();
5377 break;
5378 case ConstraintOneofCase.IntDiv:
5379 IntDiv = other.IntDiv.Clone();
5380 break;
5381 case ConstraintOneofCase.IntMod:
5382 IntMod = other.IntMod.Clone();
5383 break;
5384 case ConstraintOneofCase.IntProd:
5385 IntProd = other.IntProd.Clone();
5386 break;
5387 case ConstraintOneofCase.LinMax:
5388 LinMax = other.LinMax.Clone();
5389 break;
5390 case ConstraintOneofCase.Linear:
5391 Linear = other.Linear.Clone();
5392 break;
5393 case ConstraintOneofCase.AllDiff:
5394 AllDiff = other.AllDiff.Clone();
5395 break;
5396 case ConstraintOneofCase.Element:
5397 Element = other.Element.Clone();
5398 break;
5399 case ConstraintOneofCase.Circuit:
5400 Circuit = other.Circuit.Clone();
5401 break;
5402 case ConstraintOneofCase.Routes:
5403 Routes = other.Routes.Clone();
5404 break;
5405 case ConstraintOneofCase.Table:
5406 Table = other.Table.Clone();
5407 break;
5408 case ConstraintOneofCase.Automaton:
5409 Automaton = other.Automaton.Clone();
5410 break;
5411 case ConstraintOneofCase.Inverse:
5412 Inverse = other.Inverse.Clone();
5413 break;
5414 case ConstraintOneofCase.Reservoir:
5415 Reservoir = other.Reservoir.Clone();
5416 break;
5417 case ConstraintOneofCase.Interval:
5418 Interval = other.Interval.Clone();
5419 break;
5420 case ConstraintOneofCase.NoOverlap:
5421 NoOverlap = other.NoOverlap.Clone();
5422 break;
5423 case ConstraintOneofCase.NoOverlap2D:
5424 NoOverlap2D = other.NoOverlap2D.Clone();
5425 break;
5426 case ConstraintOneofCase.Cumulative:
5427 Cumulative = other.Cumulative.Clone();
5428 break;
5429 case ConstraintOneofCase.DummyConstraint:
5430 DummyConstraint = other.DummyConstraint.Clone();
5431 break;
5432 }
5433
5434 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5435 }
5436
5437 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5438 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5439 public ConstraintProto Clone() {
5440 return new ConstraintProto(this);
5441 }
5442
5444 public const int NameFieldNumber = 1;
5445 private string name_ = "";
5449 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5450 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5451 public string Name {
5452 get { return name_; }
5453 set {
5454 name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
5455 }
5456 }
5457
5459 public const int EnforcementLiteralFieldNumber = 2;
5460 private static readonly pb::FieldCodec<int> _repeated_enforcementLiteral_codec
5461 = pb::FieldCodec.ForInt32(18);
5462 private readonly pbc::RepeatedField<int> enforcementLiteral_ = new pbc::RepeatedField<int>();
5471 /// (controlled by a literal l) and its negation (controlled by the negation of
5472 /// l).
5473 ///
5474 /// Important: as of September 2025, some constraints might be less efficient
5475 /// with enforcement than without: circuit, routes, no_overlap, no_overlap_2d,
5476 /// and cumulative. If performance is not great, consider using a model without
5477 /// these constraints enforced.
5478 /// </summary>
5479 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5480 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5481 public pbc::RepeatedField<int> EnforcementLiteral {
5482 get { return enforcementLiteral_; }
5483 }
5484
5486 public const int BoolOrFieldNumber = 3;
5490 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5491 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5492 public global::Google.OrTools.Sat.BoolArgumentProto BoolOr {
5493 get { return constraintCase_ == ConstraintOneofCase.BoolOr ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5494 set {
5495 constraint_ = value;
5496 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.BoolOr;
5497 }
5498 }
5499
5501 public const int BoolAndFieldNumber = 4;
5503 /// The bool_and constraint forces all of the literals to be true.
5504 ///
5505 /// This is a "redundant" constraint in the sense that this can easily be
5506 /// encoded with many bool_or or at_most_one. It is just more space efficient
5507 /// and handled slightly differently internally.
5508 /// </summary>
5509 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5510 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5511 public global::Google.OrTools.Sat.BoolArgumentProto BoolAnd {
5512 get { return constraintCase_ == ConstraintOneofCase.BoolAnd ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5513 set {
5514 constraint_ = value;
5515 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.BoolAnd;
5516 }
5517 }
5518
5520 public const int AtMostOneFieldNumber = 26;
5521
5530 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5531 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5532 public global::Google.OrTools.Sat.BoolArgumentProto AtMostOne {
5533 get { return constraintCase_ == ConstraintOneofCase.AtMostOne ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5534 set {
5535 constraint_ = value;
5536 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.AtMostOne;
5537 }
5538 }
5539
5541 public const int ExactlyOneFieldNumber = 29;
5552 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5553 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5554 public global::Google.OrTools.Sat.BoolArgumentProto ExactlyOne {
5555 get { return constraintCase_ == ConstraintOneofCase.ExactlyOne ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5556 set {
5557 constraint_ = value;
5558 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.ExactlyOne;
5559 }
5560 }
5561
5563 public const int BoolXorFieldNumber = 5;
5567 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5568 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5569 public global::Google.OrTools.Sat.BoolArgumentProto BoolXor {
5570 get { return constraintCase_ == ConstraintOneofCase.BoolXor ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5571 set {
5572 constraint_ = value;
5573 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.BoolXor;
5574 }
5575 }
5576
5578 public const int IntDivFieldNumber = 7;
5579 /// <summary>
5580 /// The int_div constraint forces the target to equal exprs[0] / exprs[1].
5581 /// The division is "rounded" towards zero, so we can have for instance
5582 /// (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division,
5583 /// then you should use instead of t = a / b, the int_prod constraint
5584 /// a = b * t.
5585 ///
5586 /// If 0 belongs to the domain of exprs[1], then the model is deemed invalid.
5587 /// </summary>
5588 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5589 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5590 public global::Google.OrTools.Sat.LinearArgumentProto IntDiv {
5591 get { return constraintCase_ == ConstraintOneofCase.IntDiv ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5592 set {
5593 constraint_ = value;
5594 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.IntDiv;
5595 }
5596 }
5597
5599 public const int IntModFieldNumber = 8;
5601
5605 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5606 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5607 public global::Google.OrTools.Sat.LinearArgumentProto IntMod {
5608 get { return constraintCase_ == ConstraintOneofCase.IntMod ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5609 set {
5610 constraint_ = value;
5611 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.IntMod;
5612 }
5613 }
5614
5616 public const int IntProdFieldNumber = 11;
5623
5627 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5628 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5629 public global::Google.OrTools.Sat.LinearArgumentProto IntProd {
5630 get { return constraintCase_ == ConstraintOneofCase.IntProd ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5631 set {
5632 constraint_ = value;
5633 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.IntProd;
5634 }
5635 }
5636
5638 public const int LinMaxFieldNumber = 27;
5640
5644 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5645 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5646 public global::Google.OrTools.Sat.LinearArgumentProto LinMax {
5647 get { return constraintCase_ == ConstraintOneofCase.LinMax ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5648 set {
5649 constraint_ = value;
5650 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.LinMax;
5651 }
5652 }
5653
5655 public const int LinearFieldNumber = 12;
5656 /// <summary>
5657 /// The linear constraint enforces a linear inequality among the variables,
5658 /// such as 0 &lt;= x + 2y &lt;= 10.
5659 /// </summary>
5660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5662 public global::Google.OrTools.Sat.LinearConstraintProto Linear {
5663 get { return constraintCase_ == ConstraintOneofCase.Linear ? (global::Google.OrTools.Sat.LinearConstraintProto) constraint_ : null; }
5664 set {
5665 constraint_ = value;
5666 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Linear;
5667 }
5668 }
5669
5671 public const int AllDiffFieldNumber = 13;
5673 /// The all_diff constraint forces all variables to take different values.
5674 /// </summary>
5675 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5676 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5677 public global::Google.OrTools.Sat.AllDifferentConstraintProto AllDiff {
5678 get { return constraintCase_ == ConstraintOneofCase.AllDiff ? (global::Google.OrTools.Sat.AllDifferentConstraintProto) constraint_ : null; }
5679 set {
5680 constraint_ = value;
5681 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.AllDiff;
5683 }
5684
5686 public const int ElementFieldNumber = 14;
5689 /// to be equal to the target.
5690 /// </summary>
5691 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5692 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5693 public global::Google.OrTools.Sat.ElementConstraintProto Element {
5694 get { return constraintCase_ == ConstraintOneofCase.Element ? (global::Google.OrTools.Sat.ElementConstraintProto) constraint_ : null; }
5695 set {
5696 constraint_ = value;
5697 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Element;
5699 }
5700
5702 public const int CircuitFieldNumber = 15;
5704 /// The circuit constraint takes a graph and forces the arcs present
5705 /// (with arc presence indicated by a literal) to form a unique cycle.
5706 /// </summary>
5707 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5708 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5709 public global::Google.OrTools.Sat.CircuitConstraintProto Circuit {
5710 get { return constraintCase_ == ConstraintOneofCase.Circuit ? (global::Google.OrTools.Sat.CircuitConstraintProto) constraint_ : null; }
5711 set {
5712 constraint_ = value;
5713 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Circuit;
5714 }
5715 }
5716
5718 public const int RoutesFieldNumber = 23;
5720 /// The routes constraint implements the vehicle routing problem.
5721 /// </summary>
5722 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5723 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5724 public global::Google.OrTools.Sat.RoutesConstraintProto Routes {
5725 get { return constraintCase_ == ConstraintOneofCase.Routes ? (global::Google.OrTools.Sat.RoutesConstraintProto) constraint_ : null; }
5726 set {
5727 constraint_ = value;
5728 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Routes;
5730 }
5731
5733 public const int TableFieldNumber = 16;
5736 /// take.
5737 /// </summary>
5738 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5739 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5740 public global::Google.OrTools.Sat.TableConstraintProto Table {
5741 get { return constraintCase_ == ConstraintOneofCase.Table ? (global::Google.OrTools.Sat.TableConstraintProto) constraint_ : null; }
5742 set {
5743 constraint_ = value;
5744 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Table;
5746 }
5747
5749 public const int AutomatonFieldNumber = 17;
5751 /// The automaton constraint forces a sequence of variables to be accepted
5752 /// by an automaton.
5753 /// </summary>
5754 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5755 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5756 public global::Google.OrTools.Sat.AutomatonConstraintProto Automaton {
5757 get { return constraintCase_ == ConstraintOneofCase.Automaton ? (global::Google.OrTools.Sat.AutomatonConstraintProto) constraint_ : null; }
5758 set {
5759 constraint_ = value;
5760 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Automaton;
5761 }
5762 }
5763
5765 public const int InverseFieldNumber = 18;
5767 /// The inverse constraint forces two arrays to be inverses of each other:
5768 /// the values of one are the indices of the other, and vice versa.
5769 /// </summary>
5770 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5771 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5772 public global::Google.OrTools.Sat.InverseConstraintProto Inverse {
5773 get { return constraintCase_ == ConstraintOneofCase.Inverse ? (global::Google.OrTools.Sat.InverseConstraintProto) constraint_ : null; }
5774 set {
5775 constraint_ = value;
5776 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Inverse;
5777 }
5778 }
5779
5781 public const int ReservoirFieldNumber = 24;
5783 /// The reservoir constraint forces the sum of a set of active demands
5784 /// to always be between a specified minimum and maximum value during
5785 /// specific times.
5786 /// </summary>
5787 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5788 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5789 public global::Google.OrTools.Sat.ReservoirConstraintProto Reservoir {
5790 get { return constraintCase_ == ConstraintOneofCase.Reservoir ? (global::Google.OrTools.Sat.ReservoirConstraintProto) constraint_ : null; }
5791 set {
5792 constraint_ = value;
5793 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Reservoir;
5794 }
5795 }
5796
5798 public const int IntervalFieldNumber = 19;
5799 /// <summary>
5800 /// The interval constraint takes a start, end, and size, and forces
5801 /// start + size == end.
5802 /// </summary>
5803 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5804 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5805 public global::Google.OrTools.Sat.IntervalConstraintProto Interval {
5806 get { return constraintCase_ == ConstraintOneofCase.Interval ? (global::Google.OrTools.Sat.IntervalConstraintProto) constraint_ : null; }
5807 set {
5808 constraint_ = value;
5809 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Interval;
5810 }
5811 }
5812
5814 public const int NoOverlapFieldNumber = 20;
5816 /// The no_overlap constraint prevents a set of intervals from
5817 /// overlapping; in scheduling, this is called a disjunctive
5818 /// constraint.
5819 /// </summary>
5820 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5821 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5822 public global::Google.OrTools.Sat.NoOverlapConstraintProto NoOverlap {
5823 get { return constraintCase_ == ConstraintOneofCase.NoOverlap ? (global::Google.OrTools.Sat.NoOverlapConstraintProto) constraint_ : null; }
5824 set {
5825 constraint_ = value;
5826 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.NoOverlap;
5827 }
5828 }
5829
5831 public const int NoOverlap2DFieldNumber = 21;
5832 /// <summary>
5833 /// The no_overlap_2d constraint prevents a set of boxes from overlapping.
5834 /// </summary>
5835 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5836 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5837 public global::Google.OrTools.Sat.NoOverlap2DConstraintProto NoOverlap2D {
5838 get { return constraintCase_ == ConstraintOneofCase.NoOverlap2D ? (global::Google.OrTools.Sat.NoOverlap2DConstraintProto) constraint_ : null; }
5839 set {
5840 constraint_ = value;
5841 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.NoOverlap2D;
5842 }
5843 }
5844
5846 public const int CumulativeFieldNumber = 22;
5849 /// of the demands of the intervals containing that point does not exceed
5850 /// the capacity.
5851 /// </summary>
5852 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5853 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5854 public global::Google.OrTools.Sat.CumulativeConstraintProto Cumulative {
5855 get { return constraintCase_ == ConstraintOneofCase.Cumulative ? (global::Google.OrTools.Sat.CumulativeConstraintProto) constraint_ : null; }
5856 set {
5857 constraint_ = value;
5858 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Cumulative;
5859 }
5860 }
5861
5863 public const int DummyConstraintFieldNumber = 30;
5864 /// <summary>
5865 /// This constraint is not meant to be used and will be rejected by the
5866 /// solver. It is meant to mark variable when testing the presolve code.
5867 /// </summary>
5868 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5869 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5870 public global::Google.OrTools.Sat.ListOfVariablesProto DummyConstraint {
5871 get { return constraintCase_ == ConstraintOneofCase.DummyConstraint ? (global::Google.OrTools.Sat.ListOfVariablesProto) constraint_ : null; }
5872 set {
5873 constraint_ = value;
5874 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.DummyConstraint;
5875 }
5876 }
5877
5878 private object constraint_;
5880 public enum ConstraintOneofCase {
5881 None = 0,
5882 BoolOr = 3,
5883 BoolAnd = 4,
5884 AtMostOne = 26,
5885 ExactlyOne = 29,
5886 BoolXor = 5,
5887 IntDiv = 7,
5888 IntMod = 8,
5889 IntProd = 11,
5891 Linear = 12,
5892 AllDiff = 13,
5893 Element = 14,
5894 Circuit = 15,
5895 Routes = 23,
5896 Table = 16,
5898 Inverse = 18,
5899 Reservoir = 24,
5900 Interval = 19,
5901 NoOverlap = 20,
5902 NoOverlap2D = 21,
5903 Cumulative = 22,
5904 DummyConstraint = 30,
5905 }
5906 private ConstraintOneofCase constraintCase_ = ConstraintOneofCase.None;
5907 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5908 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5910 get { return constraintCase_; }
5913 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5914 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5915 public void ClearConstraint() {
5916 constraintCase_ = ConstraintOneofCase.None;
5917 constraint_ = null;
5920 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5921 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5922 public override bool Equals(object other) {
5923 return Equals(other as ConstraintProto);
5926 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5927 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5928 public bool Equals(ConstraintProto other) {
5929 if (ReferenceEquals(other, null)) {
5930 return false;
5932 if (ReferenceEquals(other, this)) {
5933 return true;
5934 }
5935 if (Name != other.Name) return false;
5936 if(!enforcementLiteral_.Equals(other.enforcementLiteral_)) return false;
5937 if (!object.Equals(BoolOr, other.BoolOr)) return false;
5938 if (!object.Equals(BoolAnd, other.BoolAnd)) return false;
5939 if (!object.Equals(AtMostOne, other.AtMostOne)) return false;
5940 if (!object.Equals(ExactlyOne, other.ExactlyOne)) return false;
5941 if (!object.Equals(BoolXor, other.BoolXor)) return false;
5942 if (!object.Equals(IntDiv, other.IntDiv)) return false;
5943 if (!object.Equals(IntMod, other.IntMod)) return false;
5944 if (!object.Equals(IntProd, other.IntProd)) return false;
5945 if (!object.Equals(LinMax, other.LinMax)) return false;
5946 if (!object.Equals(Linear, other.Linear)) return false;
5947 if (!object.Equals(AllDiff, other.AllDiff)) return false;
5948 if (!object.Equals(Element, other.Element)) return false;
5949 if (!object.Equals(Circuit, other.Circuit)) return false;
5950 if (!object.Equals(Routes, other.Routes)) return false;
5951 if (!object.Equals(Table, other.Table)) return false;
5952 if (!object.Equals(Automaton, other.Automaton)) return false;
5953 if (!object.Equals(Inverse, other.Inverse)) return false;
5954 if (!object.Equals(Reservoir, other.Reservoir)) return false;
5955 if (!object.Equals(Interval, other.Interval)) return false;
5956 if (!object.Equals(NoOverlap, other.NoOverlap)) return false;
5957 if (!object.Equals(NoOverlap2D, other.NoOverlap2D)) return false;
5958 if (!object.Equals(Cumulative, other.Cumulative)) return false;
5959 if (!object.Equals(DummyConstraint, other.DummyConstraint)) return false;
5960 if (ConstraintCase != other.ConstraintCase) return false;
5961 return Equals(_unknownFields, other._unknownFields);
5962 }
5963
5964 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5965 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5966 public override int GetHashCode() {
5967 int hash = 1;
5968 if (Name.Length != 0) hash ^= Name.GetHashCode();
5969 hash ^= enforcementLiteral_.GetHashCode();
5970 if (constraintCase_ == ConstraintOneofCase.BoolOr) hash ^= BoolOr.GetHashCode();
5971 if (constraintCase_ == ConstraintOneofCase.BoolAnd) hash ^= BoolAnd.GetHashCode();
5972 if (constraintCase_ == ConstraintOneofCase.AtMostOne) hash ^= AtMostOne.GetHashCode();
5973 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) hash ^= ExactlyOne.GetHashCode();
5974 if (constraintCase_ == ConstraintOneofCase.BoolXor) hash ^= BoolXor.GetHashCode();
5975 if (constraintCase_ == ConstraintOneofCase.IntDiv) hash ^= IntDiv.GetHashCode();
5976 if (constraintCase_ == ConstraintOneofCase.IntMod) hash ^= IntMod.GetHashCode();
5977 if (constraintCase_ == ConstraintOneofCase.IntProd) hash ^= IntProd.GetHashCode();
5978 if (constraintCase_ == ConstraintOneofCase.LinMax) hash ^= LinMax.GetHashCode();
5979 if (constraintCase_ == ConstraintOneofCase.Linear) hash ^= Linear.GetHashCode();
5980 if (constraintCase_ == ConstraintOneofCase.AllDiff) hash ^= AllDiff.GetHashCode();
5981 if (constraintCase_ == ConstraintOneofCase.Element) hash ^= Element.GetHashCode();
5982 if (constraintCase_ == ConstraintOneofCase.Circuit) hash ^= Circuit.GetHashCode();
5983 if (constraintCase_ == ConstraintOneofCase.Routes) hash ^= Routes.GetHashCode();
5984 if (constraintCase_ == ConstraintOneofCase.Table) hash ^= Table.GetHashCode();
5985 if (constraintCase_ == ConstraintOneofCase.Automaton) hash ^= Automaton.GetHashCode();
5986 if (constraintCase_ == ConstraintOneofCase.Inverse) hash ^= Inverse.GetHashCode();
5987 if (constraintCase_ == ConstraintOneofCase.Reservoir) hash ^= Reservoir.GetHashCode();
5988 if (constraintCase_ == ConstraintOneofCase.Interval) hash ^= Interval.GetHashCode();
5989 if (constraintCase_ == ConstraintOneofCase.NoOverlap) hash ^= NoOverlap.GetHashCode();
5990 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) hash ^= NoOverlap2D.GetHashCode();
5991 if (constraintCase_ == ConstraintOneofCase.Cumulative) hash ^= Cumulative.GetHashCode();
5992 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) hash ^= DummyConstraint.GetHashCode();
5993 hash ^= (int) constraintCase_;
5994 if (_unknownFields != null) {
5995 hash ^= _unknownFields.GetHashCode();
5996 }
5997 return hash;
5998 }
5999
6000 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6001 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6002 public override string ToString() {
6003 return pb::JsonFormatter.ToDiagnosticString(this);
6004 }
6005
6006 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6007 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6008 public void WriteTo(pb::CodedOutputStream output) {
6009 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6010 output.WriteRawMessage(this);
6011 #else
6012 if (Name.Length != 0) {
6013 output.WriteRawTag(10);
6014 output.WriteString(Name);
6015 }
6016 enforcementLiteral_.WriteTo(output, _repeated_enforcementLiteral_codec);
6017 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6018 output.WriteRawTag(26);
6019 output.WriteMessage(BoolOr);
6020 }
6021 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6022 output.WriteRawTag(34);
6023 output.WriteMessage(BoolAnd);
6024 }
6025 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6026 output.WriteRawTag(42);
6027 output.WriteMessage(BoolXor);
6028 }
6029 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6030 output.WriteRawTag(58);
6031 output.WriteMessage(IntDiv);
6032 }
6033 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6034 output.WriteRawTag(66);
6035 output.WriteMessage(IntMod);
6036 }
6037 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6038 output.WriteRawTag(90);
6039 output.WriteMessage(IntProd);
6040 }
6041 if (constraintCase_ == ConstraintOneofCase.Linear) {
6042 output.WriteRawTag(98);
6043 output.WriteMessage(Linear);
6044 }
6045 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6046 output.WriteRawTag(106);
6047 output.WriteMessage(AllDiff);
6048 }
6049 if (constraintCase_ == ConstraintOneofCase.Element) {
6050 output.WriteRawTag(114);
6051 output.WriteMessage(Element);
6052 }
6053 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6054 output.WriteRawTag(122);
6055 output.WriteMessage(Circuit);
6056 }
6057 if (constraintCase_ == ConstraintOneofCase.Table) {
6058 output.WriteRawTag(130, 1);
6059 output.WriteMessage(Table);
6060 }
6061 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6062 output.WriteRawTag(138, 1);
6063 output.WriteMessage(Automaton);
6064 }
6065 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6066 output.WriteRawTag(146, 1);
6067 output.WriteMessage(Inverse);
6068 }
6069 if (constraintCase_ == ConstraintOneofCase.Interval) {
6070 output.WriteRawTag(154, 1);
6071 output.WriteMessage(Interval);
6072 }
6073 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6074 output.WriteRawTag(162, 1);
6075 output.WriteMessage(NoOverlap);
6076 }
6077 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6078 output.WriteRawTag(170, 1);
6079 output.WriteMessage(NoOverlap2D);
6080 }
6081 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6082 output.WriteRawTag(178, 1);
6083 output.WriteMessage(Cumulative);
6084 }
6085 if (constraintCase_ == ConstraintOneofCase.Routes) {
6086 output.WriteRawTag(186, 1);
6087 output.WriteMessage(Routes);
6088 }
6089 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6090 output.WriteRawTag(194, 1);
6091 output.WriteMessage(Reservoir);
6092 }
6093 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6094 output.WriteRawTag(210, 1);
6095 output.WriteMessage(AtMostOne);
6096 }
6097 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6098 output.WriteRawTag(218, 1);
6099 output.WriteMessage(LinMax);
6100 }
6101 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6102 output.WriteRawTag(234, 1);
6103 output.WriteMessage(ExactlyOne);
6104 }
6105 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6106 output.WriteRawTag(242, 1);
6107 output.WriteMessage(DummyConstraint);
6108 }
6109 if (_unknownFields != null) {
6110 _unknownFields.WriteTo(output);
6111 }
6112 #endif
6113 }
6114
6115 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6116 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6117 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6118 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
6119 if (Name.Length != 0) {
6120 output.WriteRawTag(10);
6121 output.WriteString(Name);
6122 }
6123 enforcementLiteral_.WriteTo(ref output, _repeated_enforcementLiteral_codec);
6124 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6125 output.WriteRawTag(26);
6126 output.WriteMessage(BoolOr);
6127 }
6128 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6129 output.WriteRawTag(34);
6130 output.WriteMessage(BoolAnd);
6131 }
6132 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6133 output.WriteRawTag(42);
6134 output.WriteMessage(BoolXor);
6135 }
6136 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6137 output.WriteRawTag(58);
6138 output.WriteMessage(IntDiv);
6139 }
6140 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6141 output.WriteRawTag(66);
6142 output.WriteMessage(IntMod);
6143 }
6144 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6145 output.WriteRawTag(90);
6146 output.WriteMessage(IntProd);
6147 }
6148 if (constraintCase_ == ConstraintOneofCase.Linear) {
6149 output.WriteRawTag(98);
6150 output.WriteMessage(Linear);
6151 }
6152 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6153 output.WriteRawTag(106);
6154 output.WriteMessage(AllDiff);
6155 }
6156 if (constraintCase_ == ConstraintOneofCase.Element) {
6157 output.WriteRawTag(114);
6158 output.WriteMessage(Element);
6159 }
6160 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6161 output.WriteRawTag(122);
6162 output.WriteMessage(Circuit);
6163 }
6164 if (constraintCase_ == ConstraintOneofCase.Table) {
6165 output.WriteRawTag(130, 1);
6166 output.WriteMessage(Table);
6167 }
6168 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6169 output.WriteRawTag(138, 1);
6170 output.WriteMessage(Automaton);
6171 }
6172 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6173 output.WriteRawTag(146, 1);
6174 output.WriteMessage(Inverse);
6175 }
6176 if (constraintCase_ == ConstraintOneofCase.Interval) {
6177 output.WriteRawTag(154, 1);
6178 output.WriteMessage(Interval);
6179 }
6180 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6181 output.WriteRawTag(162, 1);
6182 output.WriteMessage(NoOverlap);
6183 }
6184 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6185 output.WriteRawTag(170, 1);
6186 output.WriteMessage(NoOverlap2D);
6187 }
6188 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6189 output.WriteRawTag(178, 1);
6190 output.WriteMessage(Cumulative);
6191 }
6192 if (constraintCase_ == ConstraintOneofCase.Routes) {
6193 output.WriteRawTag(186, 1);
6194 output.WriteMessage(Routes);
6195 }
6196 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6197 output.WriteRawTag(194, 1);
6198 output.WriteMessage(Reservoir);
6199 }
6200 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6201 output.WriteRawTag(210, 1);
6202 output.WriteMessage(AtMostOne);
6203 }
6204 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6205 output.WriteRawTag(218, 1);
6206 output.WriteMessage(LinMax);
6207 }
6208 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6209 output.WriteRawTag(234, 1);
6210 output.WriteMessage(ExactlyOne);
6211 }
6212 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6213 output.WriteRawTag(242, 1);
6214 output.WriteMessage(DummyConstraint);
6215 }
6216 if (_unknownFields != null) {
6217 _unknownFields.WriteTo(ref output);
6218 }
6219 }
6220 #endif
6221
6222 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6223 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6224 public int CalculateSize() {
6225 int size = 0;
6226 if (Name.Length != 0) {
6227 size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
6228 }
6229 size += enforcementLiteral_.CalculateSize(_repeated_enforcementLiteral_codec);
6230 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6231 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoolOr);
6232 }
6233 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6234 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoolAnd);
6235 }
6236 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6237 size += 2 + pb::CodedOutputStream.ComputeMessageSize(AtMostOne);
6238 }
6239 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6240 size += 2 + pb::CodedOutputStream.ComputeMessageSize(ExactlyOne);
6241 }
6242 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6243 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoolXor);
6244 }
6245 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6246 size += 1 + pb::CodedOutputStream.ComputeMessageSize(IntDiv);
6247 }
6248 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6249 size += 1 + pb::CodedOutputStream.ComputeMessageSize(IntMod);
6250 }
6251 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6252 size += 1 + pb::CodedOutputStream.ComputeMessageSize(IntProd);
6253 }
6254 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6255 size += 2 + pb::CodedOutputStream.ComputeMessageSize(LinMax);
6256 }
6257 if (constraintCase_ == ConstraintOneofCase.Linear) {
6258 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Linear);
6259 }
6260 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6261 size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllDiff);
6262 }
6263 if (constraintCase_ == ConstraintOneofCase.Element) {
6264 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Element);
6265 }
6266 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6267 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Circuit);
6268 }
6269 if (constraintCase_ == ConstraintOneofCase.Routes) {
6270 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Routes);
6271 }
6272 if (constraintCase_ == ConstraintOneofCase.Table) {
6273 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Table);
6274 }
6275 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6276 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Automaton);
6277 }
6278 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6279 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Inverse);
6280 }
6281 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6282 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Reservoir);
6283 }
6284 if (constraintCase_ == ConstraintOneofCase.Interval) {
6285 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Interval);
6286 }
6287 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6288 size += 2 + pb::CodedOutputStream.ComputeMessageSize(NoOverlap);
6289 }
6290 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6291 size += 2 + pb::CodedOutputStream.ComputeMessageSize(NoOverlap2D);
6292 }
6293 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6294 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Cumulative);
6295 }
6296 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6297 size += 2 + pb::CodedOutputStream.ComputeMessageSize(DummyConstraint);
6298 }
6299 if (_unknownFields != null) {
6300 size += _unknownFields.CalculateSize();
6301 }
6302 return size;
6303 }
6304
6305 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6306 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6307 public void MergeFrom(ConstraintProto other) {
6308 if (other == null) {
6309 return;
6310 }
6311 if (other.Name.Length != 0) {
6312 Name = other.Name;
6313 }
6314 enforcementLiteral_.Add(other.enforcementLiteral_);
6315 switch (other.ConstraintCase) {
6316 case ConstraintOneofCase.BoolOr:
6317 if (BoolOr == null) {
6318 BoolOr = new global::Google.OrTools.Sat.BoolArgumentProto();
6319 }
6320 BoolOr.MergeFrom(other.BoolOr);
6321 break;
6322 case ConstraintOneofCase.BoolAnd:
6323 if (BoolAnd == null) {
6324 BoolAnd = new global::Google.OrTools.Sat.BoolArgumentProto();
6325 }
6326 BoolAnd.MergeFrom(other.BoolAnd);
6327 break;
6328 case ConstraintOneofCase.AtMostOne:
6329 if (AtMostOne == null) {
6330 AtMostOne = new global::Google.OrTools.Sat.BoolArgumentProto();
6331 }
6332 AtMostOne.MergeFrom(other.AtMostOne);
6333 break;
6334 case ConstraintOneofCase.ExactlyOne:
6335 if (ExactlyOne == null) {
6336 ExactlyOne = new global::Google.OrTools.Sat.BoolArgumentProto();
6337 }
6338 ExactlyOne.MergeFrom(other.ExactlyOne);
6339 break;
6340 case ConstraintOneofCase.BoolXor:
6341 if (BoolXor == null) {
6342 BoolXor = new global::Google.OrTools.Sat.BoolArgumentProto();
6343 }
6344 BoolXor.MergeFrom(other.BoolXor);
6345 break;
6346 case ConstraintOneofCase.IntDiv:
6347 if (IntDiv == null) {
6348 IntDiv = new global::Google.OrTools.Sat.LinearArgumentProto();
6349 }
6350 IntDiv.MergeFrom(other.IntDiv);
6351 break;
6352 case ConstraintOneofCase.IntMod:
6353 if (IntMod == null) {
6354 IntMod = new global::Google.OrTools.Sat.LinearArgumentProto();
6355 }
6356 IntMod.MergeFrom(other.IntMod);
6357 break;
6358 case ConstraintOneofCase.IntProd:
6359 if (IntProd == null) {
6360 IntProd = new global::Google.OrTools.Sat.LinearArgumentProto();
6361 }
6362 IntProd.MergeFrom(other.IntProd);
6363 break;
6364 case ConstraintOneofCase.LinMax:
6365 if (LinMax == null) {
6366 LinMax = new global::Google.OrTools.Sat.LinearArgumentProto();
6367 }
6368 LinMax.MergeFrom(other.LinMax);
6369 break;
6370 case ConstraintOneofCase.Linear:
6371 if (Linear == null) {
6372 Linear = new global::Google.OrTools.Sat.LinearConstraintProto();
6373 }
6374 Linear.MergeFrom(other.Linear);
6375 break;
6376 case ConstraintOneofCase.AllDiff:
6377 if (AllDiff == null) {
6378 AllDiff = new global::Google.OrTools.Sat.AllDifferentConstraintProto();
6379 }
6380 AllDiff.MergeFrom(other.AllDiff);
6381 break;
6382 case ConstraintOneofCase.Element:
6383 if (Element == null) {
6384 Element = new global::Google.OrTools.Sat.ElementConstraintProto();
6385 }
6386 Element.MergeFrom(other.Element);
6387 break;
6388 case ConstraintOneofCase.Circuit:
6389 if (Circuit == null) {
6390 Circuit = new global::Google.OrTools.Sat.CircuitConstraintProto();
6391 }
6392 Circuit.MergeFrom(other.Circuit);
6393 break;
6394 case ConstraintOneofCase.Routes:
6395 if (Routes == null) {
6396 Routes = new global::Google.OrTools.Sat.RoutesConstraintProto();
6397 }
6398 Routes.MergeFrom(other.Routes);
6399 break;
6400 case ConstraintOneofCase.Table:
6401 if (Table == null) {
6402 Table = new global::Google.OrTools.Sat.TableConstraintProto();
6403 }
6404 Table.MergeFrom(other.Table);
6405 break;
6406 case ConstraintOneofCase.Automaton:
6407 if (Automaton == null) {
6408 Automaton = new global::Google.OrTools.Sat.AutomatonConstraintProto();
6409 }
6410 Automaton.MergeFrom(other.Automaton);
6411 break;
6412 case ConstraintOneofCase.Inverse:
6413 if (Inverse == null) {
6414 Inverse = new global::Google.OrTools.Sat.InverseConstraintProto();
6415 }
6416 Inverse.MergeFrom(other.Inverse);
6417 break;
6418 case ConstraintOneofCase.Reservoir:
6419 if (Reservoir == null) {
6420 Reservoir = new global::Google.OrTools.Sat.ReservoirConstraintProto();
6421 }
6422 Reservoir.MergeFrom(other.Reservoir);
6423 break;
6424 case ConstraintOneofCase.Interval:
6425 if (Interval == null) {
6426 Interval = new global::Google.OrTools.Sat.IntervalConstraintProto();
6427 }
6428 Interval.MergeFrom(other.Interval);
6429 break;
6430 case ConstraintOneofCase.NoOverlap:
6431 if (NoOverlap == null) {
6432 NoOverlap = new global::Google.OrTools.Sat.NoOverlapConstraintProto();
6433 }
6434 NoOverlap.MergeFrom(other.NoOverlap);
6435 break;
6436 case ConstraintOneofCase.NoOverlap2D:
6437 if (NoOverlap2D == null) {
6438 NoOverlap2D = new global::Google.OrTools.Sat.NoOverlap2DConstraintProto();
6439 }
6440 NoOverlap2D.MergeFrom(other.NoOverlap2D);
6441 break;
6442 case ConstraintOneofCase.Cumulative:
6443 if (Cumulative == null) {
6444 Cumulative = new global::Google.OrTools.Sat.CumulativeConstraintProto();
6445 }
6446 Cumulative.MergeFrom(other.Cumulative);
6447 break;
6448 case ConstraintOneofCase.DummyConstraint:
6449 if (DummyConstraint == null) {
6450 DummyConstraint = new global::Google.OrTools.Sat.ListOfVariablesProto();
6451 }
6452 DummyConstraint.MergeFrom(other.DummyConstraint);
6453 break;
6454 }
6455
6456 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
6457 }
6458
6459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6461 public void MergeFrom(pb::CodedInputStream input) {
6462 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6463 input.ReadRawMessage(this);
6464 #else
6465 uint tag;
6466 while ((tag = input.ReadTag()) != 0) {
6467 if ((tag & 7) == 4) {
6468 // Abort on any end group tag.
6469 return;
6470 }
6471 switch(tag) {
6472 default:
6473 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
6474 break;
6475 case 10: {
6476 Name = input.ReadString();
6477 break;
6478 }
6479 case 18:
6480 case 16: {
6481 enforcementLiteral_.AddEntriesFrom(input, _repeated_enforcementLiteral_codec);
6482 break;
6483 }
6484 case 26: {
6485 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6486 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6487 subBuilder.MergeFrom(BoolOr);
6489 input.ReadMessage(subBuilder);
6490 BoolOr = subBuilder;
6491 break;
6492 }
6493 case 34: {
6494 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6495 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6496 subBuilder.MergeFrom(BoolAnd);
6497 }
6498 input.ReadMessage(subBuilder);
6499 BoolAnd = subBuilder;
6500 break;
6501 }
6502 case 42: {
6503 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6504 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6505 subBuilder.MergeFrom(BoolXor);
6506 }
6507 input.ReadMessage(subBuilder);
6508 BoolXor = subBuilder;
6509 break;
6510 }
6511 case 58: {
6512 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6513 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6514 subBuilder.MergeFrom(IntDiv);
6515 }
6516 input.ReadMessage(subBuilder);
6517 IntDiv = subBuilder;
6518 break;
6519 }
6520 case 66: {
6521 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6522 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6523 subBuilder.MergeFrom(IntMod);
6524 }
6525 input.ReadMessage(subBuilder);
6526 IntMod = subBuilder;
6527 break;
6528 }
6529 case 90: {
6530 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6531 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6532 subBuilder.MergeFrom(IntProd);
6533 }
6534 input.ReadMessage(subBuilder);
6535 IntProd = subBuilder;
6536 break;
6537 }
6538 case 98: {
6539 global::Google.OrTools.Sat.LinearConstraintProto subBuilder = new global::Google.OrTools.Sat.LinearConstraintProto();
6540 if (constraintCase_ == ConstraintOneofCase.Linear) {
6541 subBuilder.MergeFrom(Linear);
6542 }
6543 input.ReadMessage(subBuilder);
6544 Linear = subBuilder;
6545 break;
6546 }
6547 case 106: {
6548 global::Google.OrTools.Sat.AllDifferentConstraintProto subBuilder = new global::Google.OrTools.Sat.AllDifferentConstraintProto();
6549 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6550 subBuilder.MergeFrom(AllDiff);
6551 }
6552 input.ReadMessage(subBuilder);
6553 AllDiff = subBuilder;
6554 break;
6555 }
6556 case 114: {
6557 global::Google.OrTools.Sat.ElementConstraintProto subBuilder = new global::Google.OrTools.Sat.ElementConstraintProto();
6558 if (constraintCase_ == ConstraintOneofCase.Element) {
6559 subBuilder.MergeFrom(Element);
6560 }
6561 input.ReadMessage(subBuilder);
6562 Element = subBuilder;
6563 break;
6564 }
6565 case 122: {
6566 global::Google.OrTools.Sat.CircuitConstraintProto subBuilder = new global::Google.OrTools.Sat.CircuitConstraintProto();
6567 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6568 subBuilder.MergeFrom(Circuit);
6569 }
6570 input.ReadMessage(subBuilder);
6571 Circuit = subBuilder;
6572 break;
6573 }
6574 case 130: {
6575 global::Google.OrTools.Sat.TableConstraintProto subBuilder = new global::Google.OrTools.Sat.TableConstraintProto();
6576 if (constraintCase_ == ConstraintOneofCase.Table) {
6577 subBuilder.MergeFrom(Table);
6578 }
6579 input.ReadMessage(subBuilder);
6580 Table = subBuilder;
6581 break;
6582 }
6583 case 138: {
6584 global::Google.OrTools.Sat.AutomatonConstraintProto subBuilder = new global::Google.OrTools.Sat.AutomatonConstraintProto();
6585 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6586 subBuilder.MergeFrom(Automaton);
6587 }
6588 input.ReadMessage(subBuilder);
6589 Automaton = subBuilder;
6590 break;
6591 }
6592 case 146: {
6593 global::Google.OrTools.Sat.InverseConstraintProto subBuilder = new global::Google.OrTools.Sat.InverseConstraintProto();
6594 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6595 subBuilder.MergeFrom(Inverse);
6596 }
6597 input.ReadMessage(subBuilder);
6598 Inverse = subBuilder;
6599 break;
6600 }
6601 case 154: {
6602 global::Google.OrTools.Sat.IntervalConstraintProto subBuilder = new global::Google.OrTools.Sat.IntervalConstraintProto();
6603 if (constraintCase_ == ConstraintOneofCase.Interval) {
6604 subBuilder.MergeFrom(Interval);
6605 }
6606 input.ReadMessage(subBuilder);
6607 Interval = subBuilder;
6608 break;
6609 }
6610 case 162: {
6611 global::Google.OrTools.Sat.NoOverlapConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlapConstraintProto();
6612 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6613 subBuilder.MergeFrom(NoOverlap);
6614 }
6615 input.ReadMessage(subBuilder);
6616 NoOverlap = subBuilder;
6617 break;
6618 }
6619 case 170: {
6620 global::Google.OrTools.Sat.NoOverlap2DConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlap2DConstraintProto();
6621 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6622 subBuilder.MergeFrom(NoOverlap2D);
6623 }
6624 input.ReadMessage(subBuilder);
6625 NoOverlap2D = subBuilder;
6626 break;
6627 }
6628 case 178: {
6629 global::Google.OrTools.Sat.CumulativeConstraintProto subBuilder = new global::Google.OrTools.Sat.CumulativeConstraintProto();
6630 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6631 subBuilder.MergeFrom(Cumulative);
6632 }
6633 input.ReadMessage(subBuilder);
6634 Cumulative = subBuilder;
6635 break;
6636 }
6637 case 186: {
6638 global::Google.OrTools.Sat.RoutesConstraintProto subBuilder = new global::Google.OrTools.Sat.RoutesConstraintProto();
6639 if (constraintCase_ == ConstraintOneofCase.Routes) {
6640 subBuilder.MergeFrom(Routes);
6641 }
6642 input.ReadMessage(subBuilder);
6643 Routes = subBuilder;
6644 break;
6645 }
6646 case 194: {
6647 global::Google.OrTools.Sat.ReservoirConstraintProto subBuilder = new global::Google.OrTools.Sat.ReservoirConstraintProto();
6648 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6649 subBuilder.MergeFrom(Reservoir);
6650 }
6651 input.ReadMessage(subBuilder);
6652 Reservoir = subBuilder;
6653 break;
6654 }
6655 case 210: {
6656 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6657 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6658 subBuilder.MergeFrom(AtMostOne);
6659 }
6660 input.ReadMessage(subBuilder);
6661 AtMostOne = subBuilder;
6662 break;
6663 }
6664 case 218: {
6665 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6666 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6667 subBuilder.MergeFrom(LinMax);
6668 }
6669 input.ReadMessage(subBuilder);
6670 LinMax = subBuilder;
6671 break;
6672 }
6673 case 234: {
6674 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6675 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6676 subBuilder.MergeFrom(ExactlyOne);
6677 }
6678 input.ReadMessage(subBuilder);
6679 ExactlyOne = subBuilder;
6680 break;
6681 }
6682 case 242: {
6683 global::Google.OrTools.Sat.ListOfVariablesProto subBuilder = new global::Google.OrTools.Sat.ListOfVariablesProto();
6684 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6685 subBuilder.MergeFrom(DummyConstraint);
6686 }
6687 input.ReadMessage(subBuilder);
6688 DummyConstraint = subBuilder;
6689 break;
6690 }
6691 }
6692 }
6693 #endif
6694 }
6695
6696 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6697 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6698 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6699 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
6700 uint tag;
6701 while ((tag = input.ReadTag()) != 0) {
6702 if ((tag & 7) == 4) {
6703 // Abort on any end group tag.
6704 return;
6705 }
6706 switch(tag) {
6707 default:
6708 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
6709 break;
6710 case 10: {
6711 Name = input.ReadString();
6712 break;
6713 }
6714 case 18:
6715 case 16: {
6716 enforcementLiteral_.AddEntriesFrom(ref input, _repeated_enforcementLiteral_codec);
6717 break;
6718 }
6719 case 26: {
6720 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6721 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6722 subBuilder.MergeFrom(BoolOr);
6723 }
6724 input.ReadMessage(subBuilder);
6725 BoolOr = subBuilder;
6726 break;
6727 }
6728 case 34: {
6729 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6730 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6731 subBuilder.MergeFrom(BoolAnd);
6732 }
6733 input.ReadMessage(subBuilder);
6734 BoolAnd = subBuilder;
6735 break;
6736 }
6737 case 42: {
6738 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6739 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6740 subBuilder.MergeFrom(BoolXor);
6741 }
6742 input.ReadMessage(subBuilder);
6743 BoolXor = subBuilder;
6744 break;
6745 }
6746 case 58: {
6747 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6748 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6749 subBuilder.MergeFrom(IntDiv);
6750 }
6751 input.ReadMessage(subBuilder);
6752 IntDiv = subBuilder;
6753 break;
6754 }
6755 case 66: {
6756 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6757 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6758 subBuilder.MergeFrom(IntMod);
6759 }
6760 input.ReadMessage(subBuilder);
6761 IntMod = subBuilder;
6762 break;
6763 }
6764 case 90: {
6765 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6766 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6767 subBuilder.MergeFrom(IntProd);
6768 }
6769 input.ReadMessage(subBuilder);
6770 IntProd = subBuilder;
6771 break;
6772 }
6773 case 98: {
6774 global::Google.OrTools.Sat.LinearConstraintProto subBuilder = new global::Google.OrTools.Sat.LinearConstraintProto();
6775 if (constraintCase_ == ConstraintOneofCase.Linear) {
6776 subBuilder.MergeFrom(Linear);
6777 }
6778 input.ReadMessage(subBuilder);
6779 Linear = subBuilder;
6780 break;
6781 }
6782 case 106: {
6783 global::Google.OrTools.Sat.AllDifferentConstraintProto subBuilder = new global::Google.OrTools.Sat.AllDifferentConstraintProto();
6784 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6785 subBuilder.MergeFrom(AllDiff);
6786 }
6787 input.ReadMessage(subBuilder);
6788 AllDiff = subBuilder;
6789 break;
6790 }
6791 case 114: {
6792 global::Google.OrTools.Sat.ElementConstraintProto subBuilder = new global::Google.OrTools.Sat.ElementConstraintProto();
6793 if (constraintCase_ == ConstraintOneofCase.Element) {
6794 subBuilder.MergeFrom(Element);
6795 }
6796 input.ReadMessage(subBuilder);
6797 Element = subBuilder;
6798 break;
6799 }
6800 case 122: {
6801 global::Google.OrTools.Sat.CircuitConstraintProto subBuilder = new global::Google.OrTools.Sat.CircuitConstraintProto();
6802 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6803 subBuilder.MergeFrom(Circuit);
6804 }
6805 input.ReadMessage(subBuilder);
6806 Circuit = subBuilder;
6807 break;
6808 }
6809 case 130: {
6810 global::Google.OrTools.Sat.TableConstraintProto subBuilder = new global::Google.OrTools.Sat.TableConstraintProto();
6811 if (constraintCase_ == ConstraintOneofCase.Table) {
6812 subBuilder.MergeFrom(Table);
6813 }
6814 input.ReadMessage(subBuilder);
6815 Table = subBuilder;
6816 break;
6817 }
6818 case 138: {
6819 global::Google.OrTools.Sat.AutomatonConstraintProto subBuilder = new global::Google.OrTools.Sat.AutomatonConstraintProto();
6820 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6821 subBuilder.MergeFrom(Automaton);
6822 }
6823 input.ReadMessage(subBuilder);
6824 Automaton = subBuilder;
6825 break;
6826 }
6827 case 146: {
6828 global::Google.OrTools.Sat.InverseConstraintProto subBuilder = new global::Google.OrTools.Sat.InverseConstraintProto();
6829 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6830 subBuilder.MergeFrom(Inverse);
6831 }
6832 input.ReadMessage(subBuilder);
6833 Inverse = subBuilder;
6834 break;
6835 }
6836 case 154: {
6837 global::Google.OrTools.Sat.IntervalConstraintProto subBuilder = new global::Google.OrTools.Sat.IntervalConstraintProto();
6838 if (constraintCase_ == ConstraintOneofCase.Interval) {
6839 subBuilder.MergeFrom(Interval);
6840 }
6841 input.ReadMessage(subBuilder);
6842 Interval = subBuilder;
6843 break;
6844 }
6845 case 162: {
6846 global::Google.OrTools.Sat.NoOverlapConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlapConstraintProto();
6847 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6848 subBuilder.MergeFrom(NoOverlap);
6849 }
6850 input.ReadMessage(subBuilder);
6851 NoOverlap = subBuilder;
6852 break;
6853 }
6854 case 170: {
6855 global::Google.OrTools.Sat.NoOverlap2DConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlap2DConstraintProto();
6856 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6857 subBuilder.MergeFrom(NoOverlap2D);
6858 }
6859 input.ReadMessage(subBuilder);
6860 NoOverlap2D = subBuilder;
6861 break;
6862 }
6863 case 178: {
6864 global::Google.OrTools.Sat.CumulativeConstraintProto subBuilder = new global::Google.OrTools.Sat.CumulativeConstraintProto();
6865 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6866 subBuilder.MergeFrom(Cumulative);
6867 }
6868 input.ReadMessage(subBuilder);
6869 Cumulative = subBuilder;
6870 break;
6871 }
6872 case 186: {
6873 global::Google.OrTools.Sat.RoutesConstraintProto subBuilder = new global::Google.OrTools.Sat.RoutesConstraintProto();
6874 if (constraintCase_ == ConstraintOneofCase.Routes) {
6875 subBuilder.MergeFrom(Routes);
6876 }
6877 input.ReadMessage(subBuilder);
6878 Routes = subBuilder;
6879 break;
6880 }
6881 case 194: {
6882 global::Google.OrTools.Sat.ReservoirConstraintProto subBuilder = new global::Google.OrTools.Sat.ReservoirConstraintProto();
6883 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6884 subBuilder.MergeFrom(Reservoir);
6885 }
6886 input.ReadMessage(subBuilder);
6887 Reservoir = subBuilder;
6888 break;
6889 }
6890 case 210: {
6891 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6892 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6893 subBuilder.MergeFrom(AtMostOne);
6894 }
6895 input.ReadMessage(subBuilder);
6896 AtMostOne = subBuilder;
6897 break;
6898 }
6899 case 218: {
6900 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6901 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6902 subBuilder.MergeFrom(LinMax);
6903 }
6904 input.ReadMessage(subBuilder);
6905 LinMax = subBuilder;
6906 break;
6907 }
6908 case 234: {
6909 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6910 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6911 subBuilder.MergeFrom(ExactlyOne);
6912 }
6913 input.ReadMessage(subBuilder);
6914 ExactlyOne = subBuilder;
6915 break;
6916 }
6917 case 242: {
6918 global::Google.OrTools.Sat.ListOfVariablesProto subBuilder = new global::Google.OrTools.Sat.ListOfVariablesProto();
6919 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6920 subBuilder.MergeFrom(DummyConstraint);
6921 }
6922 input.ReadMessage(subBuilder);
6923 DummyConstraint = subBuilder;
6924 break;
6925 }
6926 }
6927 }
6928 }
6929 #endif
6930
6931 }
6932
6936 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
6937 public sealed partial class CpObjectiveProto : pb::IMessage<CpObjectiveProto>
6938 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6939 , pb::IBufferMessage
6940 #endif
6941 {
6942 private static readonly pb::MessageParser<CpObjectiveProto> _parser = new pb::MessageParser<CpObjectiveProto>(() => new CpObjectiveProto());
6943 private pb::UnknownFieldSet _unknownFields;
6944 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6945 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6946 public static pb::MessageParser<CpObjectiveProto> Parser { get { return _parser; } }
6947
6948 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6949 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6950 public static pbr::MessageDescriptor Descriptor {
6951 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[19]; }
6952 }
6953
6954 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6955 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6956 pbr::MessageDescriptor pb::IMessage.Descriptor {
6957 get { return Descriptor; }
6958 }
6959
6960 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6961 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6962 public CpObjectiveProto() {
6963 OnConstruction();
6965
6966 partial void OnConstruction();
6967
6968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6970 public CpObjectiveProto(CpObjectiveProto other) : this() {
6971 vars_ = other.vars_.Clone();
6972 coeffs_ = other.coeffs_.Clone();
6973 offset_ = other.offset_;
6974 scalingFactor_ = other.scalingFactor_;
6975 domain_ = other.domain_.Clone();
6976 scalingWasExact_ = other.scalingWasExact_;
6977 integerBeforeOffset_ = other.integerBeforeOffset_;
6978 integerAfterOffset_ = other.integerAfterOffset_;
6979 integerScalingFactor_ = other.integerScalingFactor_;
6980 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
6981 }
6982
6983 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6984 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6985 public CpObjectiveProto Clone() {
6986 return new CpObjectiveProto(this);
6987 }
6988
6989 /// <summary>Field number for the "vars" field.</summary>
6990 public const int VarsFieldNumber = 1;
6991 private static readonly pb::FieldCodec<int> _repeated_vars_codec
6992 = pb::FieldCodec.ForInt32(10);
6993 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
6997 /// objective and set scaling_factor to -1.
6998 /// </summary>
6999 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7000 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7001 public pbc::RepeatedField<int> Vars {
7002 get { return vars_; }
7003 }
7004
7006 public const int CoeffsFieldNumber = 4;
7007 private static readonly pb::FieldCodec<long> _repeated_coeffs_codec
7008 = pb::FieldCodec.ForInt64(34);
7009 private readonly pbc::RepeatedField<long> coeffs_ = new pbc::RepeatedField<long>();
7010 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7011 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7012 public pbc::RepeatedField<long> Coeffs {
7013 get { return coeffs_; }
7014 }
7015
7017 public const int OffsetFieldNumber = 2;
7018 private double offset_;
7028 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7029 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7030 public double Offset {
7031 get { return offset_; }
7032 set {
7033 offset_ = value;
7034 }
7035 }
7036
7038 public const int ScalingFactorFieldNumber = 3;
7039 private double scalingFactor_;
7040 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7041 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7042 public double ScalingFactor {
7043 get { return scalingFactor_; }
7044 set {
7045 scalingFactor_ = value;
7046 }
7047 }
7048
7050 public const int DomainFieldNumber = 5;
7051 private static readonly pb::FieldCodec<long> _repeated_domain_codec
7052 = pb::FieldCodec.ForInt64(42);
7053 private readonly pbc::RepeatedField<long> domain_ = new pbc::RepeatedField<long>();
7058 /// </summary>
7059 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7060 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7061 public pbc::RepeatedField<long> Domain {
7062 get { return domain_; }
7063 }
7064
7066 public const int ScalingWasExactFieldNumber = 6;
7067 private bool scalingWasExact_;
7070 /// integer version, we set this to true if the scaling was exact (i.e. all
7071 /// original coeff were integer for instance).
7072 ///
7073 /// TODO(user): Put the error bounds we computed instead?
7074 /// </summary>
7075 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7076 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7077 public bool ScalingWasExact {
7078 get { return scalingWasExact_; }
7079 set {
7080 scalingWasExact_ = value;
7081 }
7082 }
7083
7085 public const int IntegerBeforeOffsetFieldNumber = 7;
7086 private long integerBeforeOffset_;
7089 /// the presolved one. Basically, initially the integer objective fit on an
7090 /// int64 and is in [Initial_lb, Initial_ub]. During presolve, we might change
7091 /// the linear expression to have a new domain [Presolved_lb, Presolved_ub]
7092 /// that will also always fit on an int64.
7093 ///
7094 /// The two domain will always be linked with an affine transformation between
7095 /// the two of the form:
7096 /// old = (new + before_offset) * integer_scaling_factor + after_offset.
7097 /// Note that we use both offsets to always be able to do the computation while
7098 /// staying in the int64 domain. In particular, the after_offset will always
7099 /// be in (-integer_scaling_factor, integer_scaling_factor).
7100 /// </summary>
7101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7103 public long IntegerBeforeOffset {
7104 get { return integerBeforeOffset_; }
7105 set {
7106 integerBeforeOffset_ = value;
7107 }
7108 }
7109
7111 public const int IntegerAfterOffsetFieldNumber = 9;
7112 private long integerAfterOffset_;
7113 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7114 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7115 public long IntegerAfterOffset {
7116 get { return integerAfterOffset_; }
7117 set {
7118 integerAfterOffset_ = value;
7119 }
7120 }
7121
7123 public const int IntegerScalingFactorFieldNumber = 8;
7124 private long integerScalingFactor_;
7125 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7126 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7127 public long IntegerScalingFactor {
7128 get { return integerScalingFactor_; }
7129 set {
7130 integerScalingFactor_ = value;
7131 }
7132 }
7134 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7135 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7136 public override bool Equals(object other) {
7137 return Equals(other as CpObjectiveProto);
7138 }
7139
7140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7142 public bool Equals(CpObjectiveProto other) {
7143 if (ReferenceEquals(other, null)) {
7144 return false;
7146 if (ReferenceEquals(other, this)) {
7147 return true;
7148 }
7149 if(!vars_.Equals(other.vars_)) return false;
7150 if(!coeffs_.Equals(other.coeffs_)) return false;
7151 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Offset, other.Offset)) return false;
7152 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ScalingFactor, other.ScalingFactor)) return false;
7153 if(!domain_.Equals(other.domain_)) return false;
7154 if (ScalingWasExact != other.ScalingWasExact) return false;
7155 if (IntegerBeforeOffset != other.IntegerBeforeOffset) return false;
7156 if (IntegerAfterOffset != other.IntegerAfterOffset) return false;
7157 if (IntegerScalingFactor != other.IntegerScalingFactor) return false;
7158 return Equals(_unknownFields, other._unknownFields);
7159 }
7160
7161 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7162 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7163 public override int GetHashCode() {
7164 int hash = 1;
7165 hash ^= vars_.GetHashCode();
7166 hash ^= coeffs_.GetHashCode();
7167 if (Offset != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Offset);
7168 if (ScalingFactor != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ScalingFactor);
7169 hash ^= domain_.GetHashCode();
7170 if (ScalingWasExact != false) hash ^= ScalingWasExact.GetHashCode();
7171 if (IntegerBeforeOffset != 0L) hash ^= IntegerBeforeOffset.GetHashCode();
7172 if (IntegerAfterOffset != 0L) hash ^= IntegerAfterOffset.GetHashCode();
7173 if (IntegerScalingFactor != 0L) hash ^= IntegerScalingFactor.GetHashCode();
7174 if (_unknownFields != null) {
7175 hash ^= _unknownFields.GetHashCode();
7176 }
7177 return hash;
7178 }
7179
7180 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7181 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7182 public override string ToString() {
7183 return pb::JsonFormatter.ToDiagnosticString(this);
7184 }
7185
7186 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7187 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7188 public void WriteTo(pb::CodedOutputStream output) {
7189 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7190 output.WriteRawMessage(this);
7191 #else
7192 vars_.WriteTo(output, _repeated_vars_codec);
7193 if (Offset != 0D) {
7194 output.WriteRawTag(17);
7195 output.WriteDouble(Offset);
7196 }
7197 if (ScalingFactor != 0D) {
7198 output.WriteRawTag(25);
7199 output.WriteDouble(ScalingFactor);
7200 }
7201 coeffs_.WriteTo(output, _repeated_coeffs_codec);
7202 domain_.WriteTo(output, _repeated_domain_codec);
7203 if (ScalingWasExact != false) {
7204 output.WriteRawTag(48);
7205 output.WriteBool(ScalingWasExact);
7206 }
7207 if (IntegerBeforeOffset != 0L) {
7208 output.WriteRawTag(56);
7209 output.WriteInt64(IntegerBeforeOffset);
7210 }
7211 if (IntegerScalingFactor != 0L) {
7212 output.WriteRawTag(64);
7213 output.WriteInt64(IntegerScalingFactor);
7214 }
7215 if (IntegerAfterOffset != 0L) {
7216 output.WriteRawTag(72);
7217 output.WriteInt64(IntegerAfterOffset);
7219 if (_unknownFields != null) {
7220 _unknownFields.WriteTo(output);
7221 }
7222 #endif
7223 }
7224
7225 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7226 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7227 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7228 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
7229 vars_.WriteTo(ref output, _repeated_vars_codec);
7230 if (Offset != 0D) {
7231 output.WriteRawTag(17);
7232 output.WriteDouble(Offset);
7233 }
7234 if (ScalingFactor != 0D) {
7235 output.WriteRawTag(25);
7236 output.WriteDouble(ScalingFactor);
7237 }
7238 coeffs_.WriteTo(ref output, _repeated_coeffs_codec);
7239 domain_.WriteTo(ref output, _repeated_domain_codec);
7240 if (ScalingWasExact != false) {
7241 output.WriteRawTag(48);
7242 output.WriteBool(ScalingWasExact);
7243 }
7244 if (IntegerBeforeOffset != 0L) {
7245 output.WriteRawTag(56);
7246 output.WriteInt64(IntegerBeforeOffset);
7247 }
7248 if (IntegerScalingFactor != 0L) {
7249 output.WriteRawTag(64);
7250 output.WriteInt64(IntegerScalingFactor);
7251 }
7252 if (IntegerAfterOffset != 0L) {
7253 output.WriteRawTag(72);
7254 output.WriteInt64(IntegerAfterOffset);
7255 }
7256 if (_unknownFields != null) {
7257 _unknownFields.WriteTo(ref output);
7258 }
7259 }
7260 #endif
7261
7262 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7263 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7264 public int CalculateSize() {
7265 int size = 0;
7266 size += vars_.CalculateSize(_repeated_vars_codec);
7267 size += coeffs_.CalculateSize(_repeated_coeffs_codec);
7268 if (Offset != 0D) {
7269 size += 1 + 8;
7270 }
7271 if (ScalingFactor != 0D) {
7272 size += 1 + 8;
7273 }
7274 size += domain_.CalculateSize(_repeated_domain_codec);
7275 if (ScalingWasExact != false) {
7276 size += 1 + 1;
7277 }
7278 if (IntegerBeforeOffset != 0L) {
7279 size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntegerBeforeOffset);
7280 }
7281 if (IntegerAfterOffset != 0L) {
7282 size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntegerAfterOffset);
7283 }
7284 if (IntegerScalingFactor != 0L) {
7285 size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntegerScalingFactor);
7286 }
7287 if (_unknownFields != null) {
7288 size += _unknownFields.CalculateSize();
7289 }
7290 return size;
7291 }
7292
7293 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7294 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7295 public void MergeFrom(CpObjectiveProto other) {
7296 if (other == null) {
7297 return;
7298 }
7299 vars_.Add(other.vars_);
7300 coeffs_.Add(other.coeffs_);
7301 if (other.Offset != 0D) {
7302 Offset = other.Offset;
7303 }
7304 if (other.ScalingFactor != 0D) {
7305 ScalingFactor = other.ScalingFactor;
7306 }
7307 domain_.Add(other.domain_);
7308 if (other.ScalingWasExact != false) {
7309 ScalingWasExact = other.ScalingWasExact;
7310 }
7311 if (other.IntegerBeforeOffset != 0L) {
7312 IntegerBeforeOffset = other.IntegerBeforeOffset;
7313 }
7314 if (other.IntegerAfterOffset != 0L) {
7315 IntegerAfterOffset = other.IntegerAfterOffset;
7316 }
7317 if (other.IntegerScalingFactor != 0L) {
7318 IntegerScalingFactor = other.IntegerScalingFactor;
7319 }
7320 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
7321 }
7322
7323 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7324 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7325 public void MergeFrom(pb::CodedInputStream input) {
7326 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7327 input.ReadRawMessage(this);
7328 #else
7329 uint tag;
7330 while ((tag = input.ReadTag()) != 0) {
7331 if ((tag & 7) == 4) {
7332 // Abort on any end group tag.
7333 return;
7334 }
7335 switch(tag) {
7336 default:
7337 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
7338 break;
7339 case 10:
7340 case 8: {
7341 vars_.AddEntriesFrom(input, _repeated_vars_codec);
7342 break;
7343 }
7344 case 17: {
7345 Offset = input.ReadDouble();
7346 break;
7347 }
7348 case 25: {
7349 ScalingFactor = input.ReadDouble();
7350 break;
7351 }
7352 case 34:
7353 case 32: {
7354 coeffs_.AddEntriesFrom(input, _repeated_coeffs_codec);
7355 break;
7356 }
7357 case 42:
7358 case 40: {
7359 domain_.AddEntriesFrom(input, _repeated_domain_codec);
7360 break;
7361 }
7362 case 48: {
7363 ScalingWasExact = input.ReadBool();
7364 break;
7365 }
7366 case 56: {
7367 IntegerBeforeOffset = input.ReadInt64();
7368 break;
7369 }
7370 case 64: {
7371 IntegerScalingFactor = input.ReadInt64();
7372 break;
7373 }
7374 case 72: {
7375 IntegerAfterOffset = input.ReadInt64();
7376 break;
7377 }
7378 }
7379 }
7380 #endif
7381 }
7382
7383 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7384 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7385 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7386 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
7387 uint tag;
7388 while ((tag = input.ReadTag()) != 0) {
7389 if ((tag & 7) == 4) {
7390 // Abort on any end group tag.
7391 return;
7392 }
7393 switch(tag) {
7394 default:
7395 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
7396 break;
7397 case 10:
7398 case 8: {
7399 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
7400 break;
7401 }
7402 case 17: {
7403 Offset = input.ReadDouble();
7404 break;
7405 }
7406 case 25: {
7407 ScalingFactor = input.ReadDouble();
7408 break;
7409 }
7410 case 34:
7411 case 32: {
7412 coeffs_.AddEntriesFrom(ref input, _repeated_coeffs_codec);
7413 break;
7414 }
7415 case 42:
7416 case 40: {
7417 domain_.AddEntriesFrom(ref input, _repeated_domain_codec);
7418 break;
7419 }
7420 case 48: {
7421 ScalingWasExact = input.ReadBool();
7422 break;
7423 }
7424 case 56: {
7425 IntegerBeforeOffset = input.ReadInt64();
7426 break;
7427 }
7428 case 64: {
7429 IntegerScalingFactor = input.ReadInt64();
7430 break;
7431 }
7432 case 72: {
7433 IntegerAfterOffset = input.ReadInt64();
7434 break;
7435 }
7436 }
7437 }
7438 }
7439 #endif
7440
7441 }
7442
7447 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
7448 public sealed partial class FloatObjectiveProto : pb::IMessage<FloatObjectiveProto>
7449 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7450 , pb::IBufferMessage
7451 #endif
7452 {
7453 private static readonly pb::MessageParser<FloatObjectiveProto> _parser = new pb::MessageParser<FloatObjectiveProto>(() => new FloatObjectiveProto());
7454 private pb::UnknownFieldSet _unknownFields;
7455 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7456 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7457 public static pb::MessageParser<FloatObjectiveProto> Parser { get { return _parser; } }
7458
7459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7461 public static pbr::MessageDescriptor Descriptor {
7462 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[20]; }
7463 }
7464
7465 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7466 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7467 pbr::MessageDescriptor pb::IMessage.Descriptor {
7468 get { return Descriptor; }
7469 }
7470
7471 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7472 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7473 public FloatObjectiveProto() {
7474 OnConstruction();
7475 }
7476
7477 partial void OnConstruction();
7479 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7480 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7481 public FloatObjectiveProto(FloatObjectiveProto other) : this() {
7482 vars_ = other.vars_.Clone();
7483 coeffs_ = other.coeffs_.Clone();
7484 offset_ = other.offset_;
7485 maximize_ = other.maximize_;
7486 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
7488
7489 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7490 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7492 return new FloatObjectiveProto(this);
7493 }
7494
7496 public const int VarsFieldNumber = 1;
7497 private static readonly pb::FieldCodec<int> _repeated_vars_codec
7498 = pb::FieldCodec.ForInt32(10);
7499 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
7500 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7501 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7502 public pbc::RepeatedField<int> Vars {
7503 get { return vars_; }
7504 }
7505
7506
7507 public const int CoeffsFieldNumber = 2;
7508 private static readonly pb::FieldCodec<double> _repeated_coeffs_codec
7509 = pb::FieldCodec.ForDouble(18);
7510 private readonly pbc::RepeatedField<double> coeffs_ = new pbc::RepeatedField<double>();
7511 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7512 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7513 public pbc::RepeatedField<double> Coeffs {
7514 get { return coeffs_; }
7515 }
7516
7518 public const int OffsetFieldNumber = 3;
7519 private double offset_;
7520 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7521 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7522 public double Offset {
7523 get { return offset_; }
7524 set {
7525 offset_ = value;
7527 }
7528
7530 public const int MaximizeFieldNumber = 4;
7531 private bool maximize_;
7532 /// <summary>
7533 /// The optimization direction. The default is to minimize
7534 /// </summary>
7535 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7536 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7537 public bool Maximize {
7538 get { return maximize_; }
7539 set {
7540 maximize_ = value;
7541 }
7542 }
7544 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7545 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7546 public override bool Equals(object other) {
7547 return Equals(other as FloatObjectiveProto);
7549
7550 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7551 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7552 public bool Equals(FloatObjectiveProto other) {
7553 if (ReferenceEquals(other, null)) {
7554 return false;
7555 }
7556 if (ReferenceEquals(other, this)) {
7557 return true;
7558 }
7559 if(!vars_.Equals(other.vars_)) return false;
7560 if(!coeffs_.Equals(other.coeffs_)) return false;
7561 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Offset, other.Offset)) return false;
7562 if (Maximize != other.Maximize) return false;
7563 return Equals(_unknownFields, other._unknownFields);
7564 }
7565
7566 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7567 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7568 public override int GetHashCode() {
7569 int hash = 1;
7570 hash ^= vars_.GetHashCode();
7571 hash ^= coeffs_.GetHashCode();
7572 if (Offset != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Offset);
7573 if (Maximize != false) hash ^= Maximize.GetHashCode();
7574 if (_unknownFields != null) {
7575 hash ^= _unknownFields.GetHashCode();
7577 return hash;
7578 }
7579
7580 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7581 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7582 public override string ToString() {
7583 return pb::JsonFormatter.ToDiagnosticString(this);
7584 }
7585
7586 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7587 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7588 public void WriteTo(pb::CodedOutputStream output) {
7589 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7590 output.WriteRawMessage(this);
7591 #else
7592 vars_.WriteTo(output, _repeated_vars_codec);
7593 coeffs_.WriteTo(output, _repeated_coeffs_codec);
7594 if (Offset != 0D) {
7595 output.WriteRawTag(25);
7596 output.WriteDouble(Offset);
7597 }
7598 if (Maximize != false) {
7599 output.WriteRawTag(32);
7600 output.WriteBool(Maximize);
7601 }
7602 if (_unknownFields != null) {
7603 _unknownFields.WriteTo(output);
7604 }
7605 #endif
7606 }
7607
7608 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7609 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7610 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7611 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
7612 vars_.WriteTo(ref output, _repeated_vars_codec);
7613 coeffs_.WriteTo(ref output, _repeated_coeffs_codec);
7614 if (Offset != 0D) {
7615 output.WriteRawTag(25);
7616 output.WriteDouble(Offset);
7617 }
7618 if (Maximize != false) {
7619 output.WriteRawTag(32);
7620 output.WriteBool(Maximize);
7621 }
7622 if (_unknownFields != null) {
7623 _unknownFields.WriteTo(ref output);
7624 }
7625 }
7626 #endif
7627
7628 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7629 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7630 public int CalculateSize() {
7631 int size = 0;
7632 size += vars_.CalculateSize(_repeated_vars_codec);
7633 size += coeffs_.CalculateSize(_repeated_coeffs_codec);
7634 if (Offset != 0D) {
7635 size += 1 + 8;
7636 }
7637 if (Maximize != false) {
7638 size += 1 + 1;
7639 }
7640 if (_unknownFields != null) {
7641 size += _unknownFields.CalculateSize();
7642 }
7643 return size;
7644 }
7645
7646 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7647 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7648 public void MergeFrom(FloatObjectiveProto other) {
7649 if (other == null) {
7650 return;
7651 }
7652 vars_.Add(other.vars_);
7653 coeffs_.Add(other.coeffs_);
7654 if (other.Offset != 0D) {
7655 Offset = other.Offset;
7656 }
7657 if (other.Maximize != false) {
7658 Maximize = other.Maximize;
7659 }
7660 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
7661 }
7662
7663 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7664 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7665 public void MergeFrom(pb::CodedInputStream input) {
7666 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7667 input.ReadRawMessage(this);
7668 #else
7669 uint tag;
7670 while ((tag = input.ReadTag()) != 0) {
7671 if ((tag & 7) == 4) {
7672 // Abort on any end group tag.
7673 return;
7674 }
7675 switch(tag) {
7676 default:
7677 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
7678 break;
7679 case 10:
7680 case 8: {
7681 vars_.AddEntriesFrom(input, _repeated_vars_codec);
7682 break;
7683 }
7684 case 18:
7685 case 17: {
7686 coeffs_.AddEntriesFrom(input, _repeated_coeffs_codec);
7687 break;
7688 }
7689 case 25: {
7690 Offset = input.ReadDouble();
7691 break;
7692 }
7693 case 32: {
7694 Maximize = input.ReadBool();
7695 break;
7696 }
7697 }
7698 }
7699 #endif
7700 }
7701
7702 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7703 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7704 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7705 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
7706 uint tag;
7707 while ((tag = input.ReadTag()) != 0) {
7708 if ((tag & 7) == 4) {
7709 // Abort on any end group tag.
7710 return;
7711 }
7712 switch(tag) {
7713 default:
7714 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
7715 break;
7716 case 10:
7717 case 8: {
7718 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
7719 break;
7720 }
7721 case 18:
7722 case 17: {
7723 coeffs_.AddEntriesFrom(ref input, _repeated_coeffs_codec);
7724 break;
7725 }
7726 case 25: {
7727 Offset = input.ReadDouble();
7728 break;
7729 }
7730 case 32: {
7731 Maximize = input.ReadBool();
7732 break;
7733 }
7734 }
7735 }
7736 }
7737 #endif
7738
7739 }
7740
7745 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
7746 public sealed partial class DecisionStrategyProto : pb::IMessage<DecisionStrategyProto>
7747 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7748 , pb::IBufferMessage
7749 #endif
7750 {
7751 private static readonly pb::MessageParser<DecisionStrategyProto> _parser = new pb::MessageParser<DecisionStrategyProto>(() => new DecisionStrategyProto());
7752 private pb::UnknownFieldSet _unknownFields;
7753 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7754 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7755 public static pb::MessageParser<DecisionStrategyProto> Parser { get { return _parser; } }
7756
7757 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7758 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7759 public static pbr::MessageDescriptor Descriptor {
7760 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[21]; }
7761 }
7762
7763 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7764 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7765 pbr::MessageDescriptor pb::IMessage.Descriptor {
7766 get { return Descriptor; }
7767 }
7768
7769 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7770 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7771 public DecisionStrategyProto() {
7772 OnConstruction();
7773 }
7774
7775 partial void OnConstruction();
7777 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7778 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7779 public DecisionStrategyProto(DecisionStrategyProto other) : this() {
7780 variables_ = other.variables_.Clone();
7781 exprs_ = other.exprs_.Clone();
7782 variableSelectionStrategy_ = other.variableSelectionStrategy_;
7783 domainReductionStrategy_ = other.domainReductionStrategy_;
7784 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
7786
7787 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7788 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7790 return new DecisionStrategyProto(this);
7791 }
7792
7794 public const int VariablesFieldNumber = 1;
7795 private static readonly pb::FieldCodec<int> _repeated_variables_codec
7796 = pb::FieldCodec.ForInt32(10);
7797 private readonly pbc::RepeatedField<int> variables_ = new pbc::RepeatedField<int>();
7801 /// criteria defined below.
7802 /// </summary>
7803 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7804 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7805 public pbc::RepeatedField<int> Variables {
7806 get { return variables_; }
7807 }
7808
7809 /// <summary>Field number for the "exprs" field.</summary>
7810 public const int ExprsFieldNumber = 5;
7811 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
7812 = pb::FieldCodec.ForMessage(42, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
7813 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
7816
7819 /// representative, we can properly transform a DecisionStrategyProto through
7820 /// presolve.
7821 /// </summary>
7822 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7823 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7824 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
7825 get { return exprs_; }
7826 }
7827
7829 public const int VariableSelectionStrategyFieldNumber = 2;
7830 private global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy variableSelectionStrategy_ = global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst;
7831 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7832 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7833 public global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy VariableSelectionStrategy {
7834 get { return variableSelectionStrategy_; }
7835 set {
7836 variableSelectionStrategy_ = value;
7837 }
7838 }
7839
7841 public const int DomainReductionStrategyFieldNumber = 3;
7842 private global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy domainReductionStrategy_ = global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue;
7843 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7844 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7845 public global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy DomainReductionStrategy {
7846 get { return domainReductionStrategy_; }
7847 set {
7848 domainReductionStrategy_ = value;
7849 }
7850 }
7851
7852 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7853 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7854 public override bool Equals(object other) {
7856 }
7857
7858 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7859 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7860 public bool Equals(DecisionStrategyProto other) {
7861 if (ReferenceEquals(other, null)) {
7862 return false;
7863 }
7864 if (ReferenceEquals(other, this)) {
7865 return true;
7866 }
7867 if(!variables_.Equals(other.variables_)) return false;
7868 if(!exprs_.Equals(other.exprs_)) return false;
7869 if (VariableSelectionStrategy != other.VariableSelectionStrategy) return false;
7870 if (DomainReductionStrategy != other.DomainReductionStrategy) return false;
7871 return Equals(_unknownFields, other._unknownFields);
7873
7874 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7875 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7876 public override int GetHashCode() {
7877 int hash = 1;
7878 hash ^= variables_.GetHashCode();
7879 hash ^= exprs_.GetHashCode();
7881 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) hash ^= DomainReductionStrategy.GetHashCode();
7882 if (_unknownFields != null) {
7883 hash ^= _unknownFields.GetHashCode();
7884 }
7885 return hash;
7886 }
7887
7888 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7889 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7890 public override string ToString() {
7891 return pb::JsonFormatter.ToDiagnosticString(this);
7892 }
7893
7894 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7895 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7896 public void WriteTo(pb::CodedOutputStream output) {
7897 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7898 output.WriteRawMessage(this);
7899 #else
7900 variables_.WriteTo(output, _repeated_variables_codec);
7901 if (VariableSelectionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst) {
7902 output.WriteRawTag(16);
7903 output.WriteEnum((int) VariableSelectionStrategy);
7904 }
7905 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7906 output.WriteRawTag(24);
7907 output.WriteEnum((int) DomainReductionStrategy);
7908 }
7909 exprs_.WriteTo(output, _repeated_exprs_codec);
7910 if (_unknownFields != null) {
7911 _unknownFields.WriteTo(output);
7912 }
7913 #endif
7914 }
7915
7916 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7917 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7918 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7919 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
7920 variables_.WriteTo(ref output, _repeated_variables_codec);
7922 output.WriteRawTag(16);
7923 output.WriteEnum((int) VariableSelectionStrategy);
7924 }
7925 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7926 output.WriteRawTag(24);
7927 output.WriteEnum((int) DomainReductionStrategy);
7928 }
7929 exprs_.WriteTo(ref output, _repeated_exprs_codec);
7930 if (_unknownFields != null) {
7931 _unknownFields.WriteTo(ref output);
7932 }
7933 }
7934 #endif
7935
7936 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7937 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7938 public int CalculateSize() {
7939 int size = 0;
7940 size += variables_.CalculateSize(_repeated_variables_codec);
7941 size += exprs_.CalculateSize(_repeated_exprs_codec);
7942 if (VariableSelectionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst) {
7943 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) VariableSelectionStrategy);
7944 }
7945 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7946 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DomainReductionStrategy);
7947 }
7948 if (_unknownFields != null) {
7949 size += _unknownFields.CalculateSize();
7950 }
7951 return size;
7952 }
7953
7954 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7955 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7956 public void MergeFrom(DecisionStrategyProto other) {
7957 if (other == null) {
7958 return;
7959 }
7960 variables_.Add(other.variables_);
7961 exprs_.Add(other.exprs_);
7962 if (other.VariableSelectionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst) {
7963 VariableSelectionStrategy = other.VariableSelectionStrategy;
7964 }
7965 if (other.DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7966 DomainReductionStrategy = other.DomainReductionStrategy;
7967 }
7968 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
7970
7971 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7972 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7973 public void MergeFrom(pb::CodedInputStream input) {
7974 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7975 input.ReadRawMessage(this);
7976 #else
7977 uint tag;
7978 while ((tag = input.ReadTag()) != 0) {
7979 if ((tag & 7) == 4) {
7980 // Abort on any end group tag.
7981 return;
7982 }
7983 switch(tag) {
7984 default:
7985 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
7986 break;
7987 case 10:
7988 case 8: {
7989 variables_.AddEntriesFrom(input, _repeated_variables_codec);
7990 break;
7991 }
7992 case 16: {
7993 VariableSelectionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy) input.ReadEnum();
7994 break;
7995 }
7996 case 24: {
7997 DomainReductionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy) input.ReadEnum();
7998 break;
7999 }
8000 case 42: {
8001 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
8002 break;
8003 }
8005 }
8006 #endif
8007 }
8008
8009 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8010 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8011 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8012 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8013 uint tag;
8014 while ((tag = input.ReadTag()) != 0) {
8015 if ((tag & 7) == 4) {
8016 // Abort on any end group tag.
8017 return;
8018 }
8019 switch(tag) {
8020 default:
8021 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8022 break;
8023 case 10:
8024 case 8: {
8025 variables_.AddEntriesFrom(ref input, _repeated_variables_codec);
8026 break;
8027 }
8028 case 16: {
8029 VariableSelectionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy) input.ReadEnum();
8030 break;
8031 }
8032 case 24: {
8033 DomainReductionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy) input.ReadEnum();
8034 break;
8035 }
8036 case 42: {
8037 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
8038 break;
8039 }
8040 }
8041 }
8042 }
8043 #endif
8044
8045 #region Nested types
8047 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8048 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8049 public static partial class Types {
8057 public enum VariableSelectionStrategy {
8058 [pbr::OriginalName("CHOOSE_FIRST")] ChooseFirst = 0,
8059 [pbr::OriginalName("CHOOSE_LOWEST_MIN")] ChooseLowestMin = 1,
8060 [pbr::OriginalName("CHOOSE_HIGHEST_MAX")] ChooseHighestMax = 2,
8061 [pbr::OriginalName("CHOOSE_MIN_DOMAIN_SIZE")] ChooseMinDomainSize = 3,
8062 [pbr::OriginalName("CHOOSE_MAX_DOMAIN_SIZE")] ChooseMaxDomainSize = 4,
8063 }
8064
8071 public enum DomainReductionStrategy {
8072 [pbr::OriginalName("SELECT_MIN_VALUE")] SelectMinValue = 0,
8073 [pbr::OriginalName("SELECT_MAX_VALUE")] SelectMaxValue = 1,
8074 [pbr::OriginalName("SELECT_LOWER_HALF")] SelectLowerHalf = 2,
8075 [pbr::OriginalName("SELECT_UPPER_HALF")] SelectUpperHalf = 3,
8076 [pbr::OriginalName("SELECT_MEDIAN_VALUE")] SelectMedianValue = 4,
8077 [pbr::OriginalName("SELECT_RANDOM_HALF")] SelectRandomHalf = 5,
8078 }
8079
8081 #endregion
8082
8083 }
8084
8089 /// </summary>
8090 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8091 public sealed partial class PartialVariableAssignment : pb::IMessage<PartialVariableAssignment>
8092 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8093 , pb::IBufferMessage
8094 #endif
8095 {
8096 private static readonly pb::MessageParser<PartialVariableAssignment> _parser = new pb::MessageParser<PartialVariableAssignment>(() => new PartialVariableAssignment());
8097 private pb::UnknownFieldSet _unknownFields;
8098 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8099 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8100 public static pb::MessageParser<PartialVariableAssignment> Parser { get { return _parser; } }
8101
8102 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8103 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8104 public static pbr::MessageDescriptor Descriptor {
8105 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[22]; }
8108 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8109 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8110 pbr::MessageDescriptor pb::IMessage.Descriptor {
8111 get { return Descriptor; }
8112 }
8113
8114 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8115 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8116 public PartialVariableAssignment() {
8117 OnConstruction();
8118 }
8119
8120 partial void OnConstruction();
8121
8122 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8123 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8125 vars_ = other.vars_.Clone();
8126 values_ = other.values_.Clone();
8127 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8128 }
8129
8130 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8131 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8132 public PartialVariableAssignment Clone() {
8134 }
8135
8137 public const int VarsFieldNumber = 1;
8138 private static readonly pb::FieldCodec<int> _repeated_vars_codec
8139 = pb::FieldCodec.ForInt32(10);
8140 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
8141 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8142 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8143 public pbc::RepeatedField<int> Vars {
8144 get { return vars_; }
8145 }
8146
8148 public const int ValuesFieldNumber = 2;
8149 private static readonly pb::FieldCodec<long> _repeated_values_codec
8150 = pb::FieldCodec.ForInt64(18);
8151 private readonly pbc::RepeatedField<long> values_ = new pbc::RepeatedField<long>();
8152 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8153 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8154 public pbc::RepeatedField<long> Values {
8155 get { return values_; }
8156 }
8158 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8159 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8160 public override bool Equals(object other) {
8161 return Equals(other as PartialVariableAssignment);
8162 }
8163
8164 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8165 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8166 public bool Equals(PartialVariableAssignment other) {
8167 if (ReferenceEquals(other, null)) {
8168 return false;
8169 }
8170 if (ReferenceEquals(other, this)) {
8171 return true;
8172 }
8173 if(!vars_.Equals(other.vars_)) return false;
8174 if(!values_.Equals(other.values_)) return false;
8175 return Equals(_unknownFields, other._unknownFields);
8177
8178 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8179 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8180 public override int GetHashCode() {
8181 int hash = 1;
8182 hash ^= vars_.GetHashCode();
8183 hash ^= values_.GetHashCode();
8184 if (_unknownFields != null) {
8185 hash ^= _unknownFields.GetHashCode();
8186 }
8187 return hash;
8188 }
8189
8190 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8191 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8192 public override string ToString() {
8193 return pb::JsonFormatter.ToDiagnosticString(this);
8194 }
8195
8196 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8197 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8198 public void WriteTo(pb::CodedOutputStream output) {
8199 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8200 output.WriteRawMessage(this);
8201 #else
8202 vars_.WriteTo(output, _repeated_vars_codec);
8203 values_.WriteTo(output, _repeated_values_codec);
8204 if (_unknownFields != null) {
8205 _unknownFields.WriteTo(output);
8206 }
8207 #endif
8208 }
8209
8210 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8211 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8212 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8213 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8214 vars_.WriteTo(ref output, _repeated_vars_codec);
8215 values_.WriteTo(ref output, _repeated_values_codec);
8216 if (_unknownFields != null) {
8217 _unknownFields.WriteTo(ref output);
8218 }
8219 }
8220 #endif
8221
8222 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8223 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8224 public int CalculateSize() {
8225 int size = 0;
8226 size += vars_.CalculateSize(_repeated_vars_codec);
8227 size += values_.CalculateSize(_repeated_values_codec);
8228 if (_unknownFields != null) {
8229 size += _unknownFields.CalculateSize();
8230 }
8231 return size;
8232 }
8233
8234 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8235 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8236 public void MergeFrom(PartialVariableAssignment other) {
8237 if (other == null) {
8238 return;
8239 }
8240 vars_.Add(other.vars_);
8241 values_.Add(other.values_);
8242 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8243 }
8244
8245 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8246 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8247 public void MergeFrom(pb::CodedInputStream input) {
8248 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8249 input.ReadRawMessage(this);
8250 #else
8251 uint tag;
8252 while ((tag = input.ReadTag()) != 0) {
8253 if ((tag & 7) == 4) {
8254 // Abort on any end group tag.
8255 return;
8256 }
8257 switch(tag) {
8258 default:
8259 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8260 break;
8261 case 10:
8262 case 8: {
8263 vars_.AddEntriesFrom(input, _repeated_vars_codec);
8264 break;
8265 }
8266 case 18:
8267 case 16: {
8268 values_.AddEntriesFrom(input, _repeated_values_codec);
8269 break;
8270 }
8271 }
8272 }
8273 #endif
8274 }
8275
8276 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8277 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8278 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8279 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8280 uint tag;
8281 while ((tag = input.ReadTag()) != 0) {
8282 if ((tag & 7) == 4) {
8283 // Abort on any end group tag.
8284 return;
8285 }
8286 switch(tag) {
8287 default:
8288 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8289 break;
8290 case 10:
8291 case 8: {
8292 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
8293 break;
8294 }
8295 case 18:
8296 case 16: {
8297 values_.AddEntriesFrom(ref input, _repeated_values_codec);
8298 break;
8299 }
8300 }
8301 }
8302 }
8303 #endif
8304
8305 }
8306
8308
8311 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8312 public sealed partial class SparsePermutationProto : pb::IMessage<SparsePermutationProto>
8313 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8314 , pb::IBufferMessage
8315 #endif
8316 {
8317 private static readonly pb::MessageParser<SparsePermutationProto> _parser = new pb::MessageParser<SparsePermutationProto>(() => new SparsePermutationProto());
8318 private pb::UnknownFieldSet _unknownFields;
8319 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8320 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8321 public static pb::MessageParser<SparsePermutationProto> Parser { get { return _parser; } }
8322
8323 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8324 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8325 public static pbr::MessageDescriptor Descriptor {
8326 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[23]; }
8327 }
8328
8329 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8330 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8331 pbr::MessageDescriptor pb::IMessage.Descriptor {
8332 get { return Descriptor; }
8333 }
8334
8335 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8336 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8337 public SparsePermutationProto() {
8338 OnConstruction();
8339 }
8340
8341 partial void OnConstruction();
8342
8343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8346 support_ = other.support_.Clone();
8347 cycleSizes_ = other.cycleSizes_.Clone();
8348 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8349 }
8350
8351 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8352 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8353 public SparsePermutationProto Clone() {
8354 return new SparsePermutationProto(this);
8355 }
8356
8358 public const int SupportFieldNumber = 1;
8359 private static readonly pb::FieldCodec<int> _repeated_support_codec
8360 = pb::FieldCodec.ForInt32(10);
8361 private readonly pbc::RepeatedField<int> support_ = new pbc::RepeatedField<int>();
8366 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8367 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8368 public pbc::RepeatedField<int> Support {
8369 get { return support_; }
8371
8373 public const int CycleSizesFieldNumber = 2;
8374 private static readonly pb::FieldCodec<int> _repeated_cycleSizes_codec
8375 = pb::FieldCodec.ForInt32(18);
8376 private readonly pbc::RepeatedField<int> cycleSizes_ = new pbc::RepeatedField<int>();
8377 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8378 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8379 public pbc::RepeatedField<int> CycleSizes {
8380 get { return cycleSizes_; }
8381 }
8382
8383 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8384 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8385 public override bool Equals(object other) {
8387 }
8388
8389 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8390 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8391 public bool Equals(SparsePermutationProto other) {
8392 if (ReferenceEquals(other, null)) {
8393 return false;
8394 }
8395 if (ReferenceEquals(other, this)) {
8396 return true;
8397 }
8398 if(!support_.Equals(other.support_)) return false;
8399 if(!cycleSizes_.Equals(other.cycleSizes_)) return false;
8400 return Equals(_unknownFields, other._unknownFields);
8402
8403 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8404 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8405 public override int GetHashCode() {
8406 int hash = 1;
8407 hash ^= support_.GetHashCode();
8408 hash ^= cycleSizes_.GetHashCode();
8409 if (_unknownFields != null) {
8410 hash ^= _unknownFields.GetHashCode();
8411 }
8412 return hash;
8413 }
8414
8415 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8416 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8417 public override string ToString() {
8418 return pb::JsonFormatter.ToDiagnosticString(this);
8419 }
8420
8421 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8422 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8423 public void WriteTo(pb::CodedOutputStream output) {
8424 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8425 output.WriteRawMessage(this);
8426 #else
8427 support_.WriteTo(output, _repeated_support_codec);
8428 cycleSizes_.WriteTo(output, _repeated_cycleSizes_codec);
8429 if (_unknownFields != null) {
8430 _unknownFields.WriteTo(output);
8431 }
8432 #endif
8433 }
8434
8435 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8436 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8437 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8438 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8439 support_.WriteTo(ref output, _repeated_support_codec);
8440 cycleSizes_.WriteTo(ref output, _repeated_cycleSizes_codec);
8441 if (_unknownFields != null) {
8442 _unknownFields.WriteTo(ref output);
8443 }
8444 }
8445 #endif
8446
8447 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8448 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8449 public int CalculateSize() {
8450 int size = 0;
8451 size += support_.CalculateSize(_repeated_support_codec);
8452 size += cycleSizes_.CalculateSize(_repeated_cycleSizes_codec);
8453 if (_unknownFields != null) {
8454 size += _unknownFields.CalculateSize();
8455 }
8456 return size;
8457 }
8458
8459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8461 public void MergeFrom(SparsePermutationProto other) {
8462 if (other == null) {
8463 return;
8464 }
8465 support_.Add(other.support_);
8466 cycleSizes_.Add(other.cycleSizes_);
8467 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8468 }
8469
8470 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8471 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8472 public void MergeFrom(pb::CodedInputStream input) {
8473 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8474 input.ReadRawMessage(this);
8475 #else
8476 uint tag;
8477 while ((tag = input.ReadTag()) != 0) {
8478 if ((tag & 7) == 4) {
8479 // Abort on any end group tag.
8480 return;
8481 }
8482 switch(tag) {
8483 default:
8484 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8485 break;
8486 case 10:
8487 case 8: {
8488 support_.AddEntriesFrom(input, _repeated_support_codec);
8489 break;
8490 }
8491 case 18:
8492 case 16: {
8493 cycleSizes_.AddEntriesFrom(input, _repeated_cycleSizes_codec);
8494 break;
8495 }
8496 }
8497 }
8498 #endif
8499 }
8500
8501 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8502 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8503 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8504 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8505 uint tag;
8506 while ((tag = input.ReadTag()) != 0) {
8507 if ((tag & 7) == 4) {
8508 // Abort on any end group tag.
8509 return;
8510 }
8511 switch(tag) {
8512 default:
8513 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8514 break;
8515 case 10:
8516 case 8: {
8517 support_.AddEntriesFrom(ref input, _repeated_support_codec);
8518 break;
8519 }
8520 case 18:
8521 case 16: {
8522 cycleSizes_.AddEntriesFrom(ref input, _repeated_cycleSizes_codec);
8523 break;
8524 }
8525 }
8526 }
8527 }
8528 #endif
8529
8530 }
8531
8533
8536 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8537 public sealed partial class DenseMatrixProto : pb::IMessage<DenseMatrixProto>
8538 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8539 , pb::IBufferMessage
8540 #endif
8541 {
8542 private static readonly pb::MessageParser<DenseMatrixProto> _parser = new pb::MessageParser<DenseMatrixProto>(() => new DenseMatrixProto());
8543 private pb::UnknownFieldSet _unknownFields;
8544 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8545 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8546 public static pb::MessageParser<DenseMatrixProto> Parser { get { return _parser; } }
8547
8548 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8549 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8550 public static pbr::MessageDescriptor Descriptor {
8551 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[24]; }
8552 }
8553
8554 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8555 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8556 pbr::MessageDescriptor pb::IMessage.Descriptor {
8557 get { return Descriptor; }
8558 }
8559
8560 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8561 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8562 public DenseMatrixProto() {
8563 OnConstruction();
8564 }
8565
8566 partial void OnConstruction();
8567
8568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8570 public DenseMatrixProto(DenseMatrixProto other) : this() {
8571 numRows_ = other.numRows_;
8572 numCols_ = other.numCols_;
8573 entries_ = other.entries_.Clone();
8574 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8575 }
8576
8577 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8578 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8580 return new DenseMatrixProto(this);
8581 }
8582
8583 /// <summary>Field number for the "num_rows" field.</summary>
8584 public const int NumRowsFieldNumber = 1;
8585 private int numRows_;
8586 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8587 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8588 public int NumRows {
8589 get { return numRows_; }
8590 set {
8591 numRows_ = value;
8592 }
8593 }
8594
8595 /// <summary>Field number for the "num_cols" field.</summary>
8596 public const int NumColsFieldNumber = 2;
8597 private int numCols_;
8598 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8599 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8600 public int NumCols {
8601 get { return numCols_; }
8602 set {
8603 numCols_ = value;
8604 }
8605 }
8606
8608 public const int EntriesFieldNumber = 3;
8609 private static readonly pb::FieldCodec<int> _repeated_entries_codec
8610 = pb::FieldCodec.ForInt32(26);
8611 private readonly pbc::RepeatedField<int> entries_ = new pbc::RepeatedField<int>();
8612 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8613 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8614 public pbc::RepeatedField<int> Entries {
8615 get { return entries_; }
8616 }
8618 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8619 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8620 public override bool Equals(object other) {
8621 return Equals(other as DenseMatrixProto);
8622 }
8623
8624 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8625 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8626 public bool Equals(DenseMatrixProto other) {
8627 if (ReferenceEquals(other, null)) {
8628 return false;
8630 if (ReferenceEquals(other, this)) {
8631 return true;
8632 }
8633 if (NumRows != other.NumRows) return false;
8634 if (NumCols != other.NumCols) return false;
8635 if(!entries_.Equals(other.entries_)) return false;
8636 return Equals(_unknownFields, other._unknownFields);
8637 }
8638
8639 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8640 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8641 public override int GetHashCode() {
8642 int hash = 1;
8643 if (NumRows != 0) hash ^= NumRows.GetHashCode();
8644 if (NumCols != 0) hash ^= NumCols.GetHashCode();
8645 hash ^= entries_.GetHashCode();
8646 if (_unknownFields != null) {
8647 hash ^= _unknownFields.GetHashCode();
8648 }
8649 return hash;
8650 }
8651
8652 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8653 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8654 public override string ToString() {
8655 return pb::JsonFormatter.ToDiagnosticString(this);
8656 }
8657
8658 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8659 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8660 public void WriteTo(pb::CodedOutputStream output) {
8661 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8662 output.WriteRawMessage(this);
8663 #else
8664 if (NumRows != 0) {
8665 output.WriteRawTag(8);
8666 output.WriteInt32(NumRows);
8667 }
8668 if (NumCols != 0) {
8669 output.WriteRawTag(16);
8670 output.WriteInt32(NumCols);
8671 }
8672 entries_.WriteTo(output, _repeated_entries_codec);
8673 if (_unknownFields != null) {
8674 _unknownFields.WriteTo(output);
8675 }
8676 #endif
8677 }
8678
8679 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8680 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8681 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8682 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8683 if (NumRows != 0) {
8684 output.WriteRawTag(8);
8685 output.WriteInt32(NumRows);
8686 }
8687 if (NumCols != 0) {
8688 output.WriteRawTag(16);
8689 output.WriteInt32(NumCols);
8690 }
8691 entries_.WriteTo(ref output, _repeated_entries_codec);
8692 if (_unknownFields != null) {
8693 _unknownFields.WriteTo(ref output);
8694 }
8695 }
8696 #endif
8697
8698 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8699 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8700 public int CalculateSize() {
8701 int size = 0;
8702 if (NumRows != 0) {
8703 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumRows);
8704 }
8705 if (NumCols != 0) {
8706 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumCols);
8707 }
8708 size += entries_.CalculateSize(_repeated_entries_codec);
8709 if (_unknownFields != null) {
8710 size += _unknownFields.CalculateSize();
8711 }
8712 return size;
8713 }
8714
8715 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8716 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8717 public void MergeFrom(DenseMatrixProto other) {
8718 if (other == null) {
8719 return;
8720 }
8721 if (other.NumRows != 0) {
8722 NumRows = other.NumRows;
8723 }
8724 if (other.NumCols != 0) {
8725 NumCols = other.NumCols;
8726 }
8727 entries_.Add(other.entries_);
8728 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8729 }
8730
8731 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8732 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8733 public void MergeFrom(pb::CodedInputStream input) {
8734 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8735 input.ReadRawMessage(this);
8736 #else
8737 uint tag;
8738 while ((tag = input.ReadTag()) != 0) {
8739 if ((tag & 7) == 4) {
8740 // Abort on any end group tag.
8741 return;
8742 }
8743 switch(tag) {
8744 default:
8745 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8746 break;
8747 case 8: {
8748 NumRows = input.ReadInt32();
8749 break;
8751 case 16: {
8752 NumCols = input.ReadInt32();
8753 break;
8754 }
8755 case 26:
8756 case 24: {
8757 entries_.AddEntriesFrom(input, _repeated_entries_codec);
8758 break;
8759 }
8760 }
8761 }
8762 #endif
8763 }
8764
8765 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8766 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8767 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8768 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8769 uint tag;
8770 while ((tag = input.ReadTag()) != 0) {
8771 if ((tag & 7) == 4) {
8772 // Abort on any end group tag.
8773 return;
8774 }
8775 switch(tag) {
8776 default:
8777 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8778 break;
8779 case 8: {
8780 NumRows = input.ReadInt32();
8781 break;
8782 }
8783 case 16: {
8784 NumCols = input.ReadInt32();
8785 break;
8786 }
8787 case 26:
8788 case 24: {
8789 entries_.AddEntriesFrom(ref input, _repeated_entries_codec);
8790 break;
8791 }
8792 }
8793 }
8794 }
8795 #endif
8796
8797 }
8798
8813 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8814 public sealed partial class SymmetryProto : pb::IMessage<SymmetryProto>
8815 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8816 , pb::IBufferMessage
8817 #endif
8818 {
8819 private static readonly pb::MessageParser<SymmetryProto> _parser = new pb::MessageParser<SymmetryProto>(() => new SymmetryProto());
8820 private pb::UnknownFieldSet _unknownFields;
8821 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8822 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8823 public static pb::MessageParser<SymmetryProto> Parser { get { return _parser; } }
8824
8825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8827 public static pbr::MessageDescriptor Descriptor {
8828 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[25]; }
8829 }
8830
8831 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8832 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8833 pbr::MessageDescriptor pb::IMessage.Descriptor {
8834 get { return Descriptor; }
8835 }
8836
8837 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8838 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8839 public SymmetryProto() {
8840 OnConstruction();
8841 }
8842
8843 partial void OnConstruction();
8844
8845 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8846 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8847 public SymmetryProto(SymmetryProto other) : this() {
8848 permutations_ = other.permutations_.Clone();
8849 orbitopes_ = other.orbitopes_.Clone();
8850 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8851 }
8852
8853 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8854 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8855 public SymmetryProto Clone() {
8856 return new SymmetryProto(this);
8857 }
8858
8860 public const int PermutationsFieldNumber = 1;
8861 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.SparsePermutationProto> _repeated_permutations_codec
8862 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.Sat.SparsePermutationProto.Parser);
8863 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.SparsePermutationProto> permutations_ = new pbc::RepeatedField<global::Google.OrTools.Sat.SparsePermutationProto>();
8866
8869 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8870 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8871 public pbc::RepeatedField<global::Google.OrTools.Sat.SparsePermutationProto> Permutations {
8872 get { return permutations_; }
8873 }
8874
8875 /// <summary>Field number for the "orbitopes" field.</summary>
8876 public const int OrbitopesFieldNumber = 2;
8877 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.DenseMatrixProto> _repeated_orbitopes_codec
8878 = pb::FieldCodec.ForMessage(18, global::Google.OrTools.Sat.DenseMatrixProto.Parser);
8879 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.DenseMatrixProto> orbitopes_ = new pbc::RepeatedField<global::Google.OrTools.Sat.DenseMatrixProto>();
8883 /// permutation of the columns will be a valid permutation of the feasible
8884 /// space.
8885 ///
8886 /// This arise quite often. The typical example is a graph coloring problem
8887 /// where for each node i, you have j booleans to indicate its color. If the
8888 /// variables color_of_i_is_j are arranged in a matrix[i][j], then any columns
8889 /// permutations leave the problem invariant.
8890 /// </summary>
8891 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8892 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8893 public pbc::RepeatedField<global::Google.OrTools.Sat.DenseMatrixProto> Orbitopes {
8894 get { return orbitopes_; }
8895 }
8897 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8898 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8899 public override bool Equals(object other) {
8900 return Equals(other as SymmetryProto);
8901 }
8902
8903 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8904 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8905 public bool Equals(SymmetryProto other) {
8906 if (ReferenceEquals(other, null)) {
8907 return false;
8908 }
8909 if (ReferenceEquals(other, this)) {
8910 return true;
8911 }
8912 if(!permutations_.Equals(other.permutations_)) return false;
8913 if(!orbitopes_.Equals(other.orbitopes_)) return false;
8914 return Equals(_unknownFields, other._unknownFields);
8915 }
8916
8917 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8918 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8919 public override int GetHashCode() {
8920 int hash = 1;
8921 hash ^= permutations_.GetHashCode();
8922 hash ^= orbitopes_.GetHashCode();
8923 if (_unknownFields != null) {
8924 hash ^= _unknownFields.GetHashCode();
8925 }
8926 return hash;
8927 }
8928
8929 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8930 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8931 public override string ToString() {
8932 return pb::JsonFormatter.ToDiagnosticString(this);
8933 }
8934
8935 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8936 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8937 public void WriteTo(pb::CodedOutputStream output) {
8938 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8939 output.WriteRawMessage(this);
8940 #else
8941 permutations_.WriteTo(output, _repeated_permutations_codec);
8942 orbitopes_.WriteTo(output, _repeated_orbitopes_codec);
8943 if (_unknownFields != null) {
8944 _unknownFields.WriteTo(output);
8945 }
8946 #endif
8947 }
8948
8949 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8950 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8951 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8952 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8953 permutations_.WriteTo(ref output, _repeated_permutations_codec);
8954 orbitopes_.WriteTo(ref output, _repeated_orbitopes_codec);
8955 if (_unknownFields != null) {
8956 _unknownFields.WriteTo(ref output);
8957 }
8958 }
8959 #endif
8960
8961 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8962 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8963 public int CalculateSize() {
8964 int size = 0;
8965 size += permutations_.CalculateSize(_repeated_permutations_codec);
8966 size += orbitopes_.CalculateSize(_repeated_orbitopes_codec);
8967 if (_unknownFields != null) {
8968 size += _unknownFields.CalculateSize();
8969 }
8970 return size;
8971 }
8972
8973 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8974 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8975 public void MergeFrom(SymmetryProto other) {
8976 if (other == null) {
8977 return;
8978 }
8979 permutations_.Add(other.permutations_);
8980 orbitopes_.Add(other.orbitopes_);
8981 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8982 }
8983
8984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8986 public void MergeFrom(pb::CodedInputStream input) {
8987 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8988 input.ReadRawMessage(this);
8989 #else
8990 uint tag;
8991 while ((tag = input.ReadTag()) != 0) {
8992 if ((tag & 7) == 4) {
8993 // Abort on any end group tag.
8994 return;
8995 }
8996 switch(tag) {
8997 default:
8998 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8999 break;
9000 case 10: {
9001 permutations_.AddEntriesFrom(input, _repeated_permutations_codec);
9002 break;
9003 }
9004 case 18: {
9005 orbitopes_.AddEntriesFrom(input, _repeated_orbitopes_codec);
9006 break;
9007 }
9008 }
9009 }
9010 #endif
9011 }
9013 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9014 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9015 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9016 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
9017 uint tag;
9018 while ((tag = input.ReadTag()) != 0) {
9019 if ((tag & 7) == 4) {
9020 // Abort on any end group tag.
9021 return;
9022 }
9023 switch(tag) {
9024 default:
9025 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
9026 break;
9027 case 10: {
9028 permutations_.AddEntriesFrom(ref input, _repeated_permutations_codec);
9029 break;
9030 }
9031 case 18: {
9032 orbitopes_.AddEntriesFrom(ref input, _repeated_orbitopes_codec);
9033 break;
9034 }
9035 }
9036 }
9037 }
9038 #endif
9039
9040 }
9041
9045 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
9046 public sealed partial class CpModelProto : pb::IMessage<CpModelProto>
9047 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9048 , pb::IBufferMessage
9049 #endif
9050 {
9051 private static readonly pb::MessageParser<CpModelProto> _parser = new pb::MessageParser<CpModelProto>(() => new CpModelProto());
9052 private pb::UnknownFieldSet _unknownFields;
9053 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9054 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9055 public static pb::MessageParser<CpModelProto> Parser { get { return _parser; } }
9056
9057 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9058 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9059 public static pbr::MessageDescriptor Descriptor {
9060 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[26]; }
9061 }
9062
9063 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9064 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9065 pbr::MessageDescriptor pb::IMessage.Descriptor {
9066 get { return Descriptor; }
9067 }
9068
9069 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9070 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9071 public CpModelProto() {
9072 OnConstruction();
9073 }
9074
9075 partial void OnConstruction();
9076
9077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9079 public CpModelProto(CpModelProto other) : this() {
9080 name_ = other.name_;
9081 variables_ = other.variables_.Clone();
9082 constraints_ = other.constraints_.Clone();
9083 objective_ = other.objective_ != null ? other.objective_.Clone() : null;
9084 floatingPointObjective_ = other.floatingPointObjective_ != null ? other.floatingPointObjective_.Clone() : null;
9085 searchStrategy_ = other.searchStrategy_.Clone();
9086 solutionHint_ = other.solutionHint_ != null ? other.solutionHint_.Clone() : null;
9087 assumptions_ = other.assumptions_.Clone();
9088 symmetry_ = other.symmetry_ != null ? other.symmetry_.Clone() : null;
9089 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
9090 }
9091
9092 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9093 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9094 public CpModelProto Clone() {
9095 return new CpModelProto(this);
9097
9099 public const int NameFieldNumber = 1;
9100 private string name_ = "";
9104 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9105 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9106 public string Name {
9107 get { return name_; }
9108 set {
9109 name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
9110 }
9111 }
9112
9114 public const int VariablesFieldNumber = 2;
9115 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.IntegerVariableProto> _repeated_variables_codec
9116 = pb::FieldCodec.ForMessage(18, global::Google.OrTools.Sat.IntegerVariableProto.Parser);
9117 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> variables_ = new pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto>();
9121 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9122 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9123 public pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> Variables {
9124 get { return variables_; }
9125 }
9126
9128 public const int ConstraintsFieldNumber = 3;
9129 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.ConstraintProto> _repeated_constraints_codec
9130 = pb::FieldCodec.ForMessage(26, global::Google.OrTools.Sat.ConstraintProto.Parser);
9131 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.ConstraintProto> constraints_ = new pbc::RepeatedField<global::Google.OrTools.Sat.ConstraintProto>();
9132 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9133 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9134 public pbc::RepeatedField<global::Google.OrTools.Sat.ConstraintProto> Constraints {
9135 get { return constraints_; }
9137
9139 public const int ObjectiveFieldNumber = 4;
9140 private global::Google.OrTools.Sat.CpObjectiveProto objective_;
9143 /// </summary>
9144 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9145 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9146 public global::Google.OrTools.Sat.CpObjectiveProto Objective {
9147 get { return objective_; }
9148 set {
9149 objective_ = value;
9150 }
9152
9154 public const int FloatingPointObjectiveFieldNumber = 9;
9155 private global::Google.OrTools.Sat.FloatObjectiveProto floatingPointObjective_;
9160 /// The objective of the model, in floating point format. The solver will
9161 /// automatically scale this to integer during expansion and thus convert it to
9162 /// a normal CpObjectiveProto. See the mip* parameters to control how this is
9163 /// scaled. In most situation the precision will be good enough, but you can
9164 /// see the logs to see what are the precision guaranteed when this is
9165 /// converted to a fixed point representation.
9166 ///
9167 /// Note that even if the precision is bad, the returned objective_value and
9168 /// best_objective_bound will be computed correctly. So at the end of the solve
9169 /// you can check the gap if you only want precise optimal.
9170 /// </summary>
9171 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9172 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9174 get { return floatingPointObjective_; }
9175 set {
9176 floatingPointObjective_ = value;
9177 }
9178 }
9179
9181 public const int SearchStrategyFieldNumber = 5;
9182 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.DecisionStrategyProto> _repeated_searchStrategy_codec
9183 = pb::FieldCodec.ForMessage(42, global::Google.OrTools.Sat.DecisionStrategyProto.Parser);
9184 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.DecisionStrategyProto> searchStrategy_ = new pbc::RepeatedField<global::Google.OrTools.Sat.DecisionStrategyProto>();
9189
9196 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9197 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9198 public pbc::RepeatedField<global::Google.OrTools.Sat.DecisionStrategyProto> SearchStrategy {
9199 get { return searchStrategy_; }
9200 }
9201
9203 public const int SolutionHintFieldNumber = 6;
9204 private global::Google.OrTools.Sat.PartialVariableAssignment solutionHint_;
9212 ///
9213 /// Note that it may not always be faster to give a hint like this to the
9214 /// solver. There is also no guarantee that the solver will use this hint or
9215 /// try to return a solution "close" to this assignment in case of multiple
9216 /// optimal solutions.
9217 /// </summary>
9218 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9219 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9221 get { return solutionHint_; }
9222 set {
9223 solutionHint_ = value;
9224 }
9225 }
9226
9228 public const int AssumptionsFieldNumber = 7;
9229 private static readonly pb::FieldCodec<int> _repeated_assumptions_codec
9230 = pb::FieldCodec.ForInt32(58);
9231 private readonly pbc::RepeatedField<int> assumptions_ = new pbc::RepeatedField<int>();
9238 ///
9239 /// Think (IIS), except when you are only concerned by the provided
9240 /// assumptions. This is powerful as it allows to group a set of logically
9241 /// related constraint under only one enforcement literal which can potentially
9242 /// give you a good and interpretable explanation for infeasiblity.
9243 ///
9244 /// Such infeasibility explanation will be available in the
9245 /// sufficient_assumptions_for_infeasibility response field.
9246 /// </summary>
9247 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9248 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9249 public pbc::RepeatedField<int> Assumptions {
9250 get { return assumptions_; }
9251 }
9252
9254 public const int SymmetryFieldNumber = 8;
9255 private global::Google.OrTools.Sat.SymmetryProto symmetry_;
9262 /// </summary>
9263 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9264 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9265 public global::Google.OrTools.Sat.SymmetryProto Symmetry {
9266 get { return symmetry_; }
9267 set {
9268 symmetry_ = value;
9269 }
9271
9272 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9273 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9274 public override bool Equals(object other) {
9275 return Equals(other as CpModelProto);
9276 }
9277
9278 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9279 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9280 public bool Equals(CpModelProto other) {
9281 if (ReferenceEquals(other, null)) {
9282 return false;
9283 }
9284 if (ReferenceEquals(other, this)) {
9285 return true;
9286 }
9287 if (Name != other.Name) return false;
9288 if(!variables_.Equals(other.variables_)) return false;
9289 if(!constraints_.Equals(other.constraints_)) return false;
9290 if (!object.Equals(Objective, other.Objective)) return false;
9291 if (!object.Equals(FloatingPointObjective, other.FloatingPointObjective)) return false;
9292 if(!searchStrategy_.Equals(other.searchStrategy_)) return false;
9293 if (!object.Equals(SolutionHint, other.SolutionHint)) return false;
9294 if(!assumptions_.Equals(other.assumptions_)) return false;
9295 if (!object.Equals(Symmetry, other.Symmetry)) return false;
9296 return Equals(_unknownFields, other._unknownFields);
9297 }
9299 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9300 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9301 public override int GetHashCode() {
9302 int hash = 1;
9303 if (Name.Length != 0) hash ^= Name.GetHashCode();
9304 hash ^= variables_.GetHashCode();
9305 hash ^= constraints_.GetHashCode();
9306 if (objective_ != null) hash ^= Objective.GetHashCode();
9307 if (floatingPointObjective_ != null) hash ^= FloatingPointObjective.GetHashCode();
9308 hash ^= searchStrategy_.GetHashCode();
9309 if (solutionHint_ != null) hash ^= SolutionHint.GetHashCode();
9310 hash ^= assumptions_.GetHashCode();
9311 if (symmetry_ != null) hash ^= Symmetry.GetHashCode();
9312 if (_unknownFields != null) {
9313 hash ^= _unknownFields.GetHashCode();
9314 }
9315 return hash;
9316 }
9317
9318 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9319 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9320 public override string ToString() {
9321 return pb::JsonFormatter.ToDiagnosticString(this);
9322 }
9323
9324 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9325 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9326 public void WriteTo(pb::CodedOutputStream output) {
9327 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9328 output.WriteRawMessage(this);
9329 #else
9330 if (Name.Length != 0) {
9331 output.WriteRawTag(10);
9332 output.WriteString(Name);
9333 }
9334 variables_.WriteTo(output, _repeated_variables_codec);
9335 constraints_.WriteTo(output, _repeated_constraints_codec);
9336 if (objective_ != null) {
9337 output.WriteRawTag(34);
9338 output.WriteMessage(Objective);
9339 }
9340 searchStrategy_.WriteTo(output, _repeated_searchStrategy_codec);
9341 if (solutionHint_ != null) {
9342 output.WriteRawTag(50);
9343 output.WriteMessage(SolutionHint);
9344 }
9345 assumptions_.WriteTo(output, _repeated_assumptions_codec);
9346 if (symmetry_ != null) {
9347 output.WriteRawTag(66);
9348 output.WriteMessage(Symmetry);
9349 }
9350 if (floatingPointObjective_ != null) {
9351 output.WriteRawTag(74);
9352 output.WriteMessage(FloatingPointObjective);
9353 }
9354 if (_unknownFields != null) {
9355 _unknownFields.WriteTo(output);
9356 }
9357 #endif
9358 }
9359
9360 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9361 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9362 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9363 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
9364 if (Name.Length != 0) {
9365 output.WriteRawTag(10);
9366 output.WriteString(Name);
9367 }
9368 variables_.WriteTo(ref output, _repeated_variables_codec);
9369 constraints_.WriteTo(ref output, _repeated_constraints_codec);
9370 if (objective_ != null) {
9371 output.WriteRawTag(34);
9372 output.WriteMessage(Objective);
9373 }
9374 searchStrategy_.WriteTo(ref output, _repeated_searchStrategy_codec);
9375 if (solutionHint_ != null) {
9376 output.WriteRawTag(50);
9377 output.WriteMessage(SolutionHint);
9378 }
9379 assumptions_.WriteTo(ref output, _repeated_assumptions_codec);
9380 if (symmetry_ != null) {
9381 output.WriteRawTag(66);
9382 output.WriteMessage(Symmetry);
9383 }
9384 if (floatingPointObjective_ != null) {
9385 output.WriteRawTag(74);
9386 output.WriteMessage(FloatingPointObjective);
9387 }
9388 if (_unknownFields != null) {
9389 _unknownFields.WriteTo(ref output);
9390 }
9391 }
9392 #endif
9393
9394 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9395 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9396 public int CalculateSize() {
9397 int size = 0;
9398 if (Name.Length != 0) {
9399 size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
9400 }
9401 size += variables_.CalculateSize(_repeated_variables_codec);
9402 size += constraints_.CalculateSize(_repeated_constraints_codec);
9403 if (objective_ != null) {
9404 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Objective);
9405 }
9406 if (floatingPointObjective_ != null) {
9407 size += 1 + pb::CodedOutputStream.ComputeMessageSize(FloatingPointObjective);
9408 }
9409 size += searchStrategy_.CalculateSize(_repeated_searchStrategy_codec);
9410 if (solutionHint_ != null) {
9411 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SolutionHint);
9412 }
9413 size += assumptions_.CalculateSize(_repeated_assumptions_codec);
9414 if (symmetry_ != null) {
9415 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Symmetry);
9416 }
9417 if (_unknownFields != null) {
9418 size += _unknownFields.CalculateSize();
9419 }
9420 return size;
9421 }
9422
9423 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9424 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9425 public void MergeFrom(CpModelProto other) {
9426 if (other == null) {
9427 return;
9428 }
9429 if (other.Name.Length != 0) {
9430 Name = other.Name;
9431 }
9432 variables_.Add(other.variables_);
9433 constraints_.Add(other.constraints_);
9434 if (other.objective_ != null) {
9435 if (objective_ == null) {
9436 Objective = new global::Google.OrTools.Sat.CpObjectiveProto();
9437 }
9438 Objective.MergeFrom(other.Objective);
9439 }
9440 if (other.floatingPointObjective_ != null) {
9441 if (floatingPointObjective_ == null) {
9442 FloatingPointObjective = new global::Google.OrTools.Sat.FloatObjectiveProto();
9443 }
9444 FloatingPointObjective.MergeFrom(other.FloatingPointObjective);
9445 }
9446 searchStrategy_.Add(other.searchStrategy_);
9447 if (other.solutionHint_ != null) {
9448 if (solutionHint_ == null) {
9449 SolutionHint = new global::Google.OrTools.Sat.PartialVariableAssignment();
9450 }
9451 SolutionHint.MergeFrom(other.SolutionHint);
9452 }
9453 assumptions_.Add(other.assumptions_);
9454 if (other.symmetry_ != null) {
9455 if (symmetry_ == null) {
9456 Symmetry = new global::Google.OrTools.Sat.SymmetryProto();
9457 }
9458 Symmetry.MergeFrom(other.Symmetry);
9459 }
9460 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
9461 }
9462
9463 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9464 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9465 public void MergeFrom(pb::CodedInputStream input) {
9466 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9467 input.ReadRawMessage(this);
9468 #else
9469 uint tag;
9470 while ((tag = input.ReadTag()) != 0) {
9471 if ((tag & 7) == 4) {
9472 // Abort on any end group tag.
9473 return;
9474 }
9475 switch(tag) {
9476 default:
9477 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
9478 break;
9479 case 10: {
9480 Name = input.ReadString();
9481 break;
9482 }
9483 case 18: {
9484 variables_.AddEntriesFrom(input, _repeated_variables_codec);
9485 break;
9486 }
9487 case 26: {
9488 constraints_.AddEntriesFrom(input, _repeated_constraints_codec);
9489 break;
9490 }
9491 case 34: {
9492 if (objective_ == null) {
9493 Objective = new global::Google.OrTools.Sat.CpObjectiveProto();
9494 }
9495 input.ReadMessage(Objective);
9496 break;
9497 }
9498 case 42: {
9499 searchStrategy_.AddEntriesFrom(input, _repeated_searchStrategy_codec);
9500 break;
9501 }
9502 case 50: {
9503 if (solutionHint_ == null) {
9504 SolutionHint = new global::Google.OrTools.Sat.PartialVariableAssignment();
9505 }
9506 input.ReadMessage(SolutionHint);
9507 break;
9508 }
9509 case 58:
9510 case 56: {
9511 assumptions_.AddEntriesFrom(input, _repeated_assumptions_codec);
9512 break;
9513 }
9514 case 66: {
9515 if (symmetry_ == null) {
9516 Symmetry = new global::Google.OrTools.Sat.SymmetryProto();
9517 }
9518 input.ReadMessage(Symmetry);
9519 break;
9520 }
9521 case 74: {
9522 if (floatingPointObjective_ == null) {
9523 FloatingPointObjective = new global::Google.OrTools.Sat.FloatObjectiveProto();
9524 }
9525 input.ReadMessage(FloatingPointObjective);
9526 break;
9527 }
9528 }
9529 }
9530 #endif
9531 }
9532
9533 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9534 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9535 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9536 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
9537 uint tag;
9538 while ((tag = input.ReadTag()) != 0) {
9539 if ((tag & 7) == 4) {
9540 // Abort on any end group tag.
9541 return;
9542 }
9543 switch(tag) {
9544 default:
9545 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
9546 break;
9547 case 10: {
9548 Name = input.ReadString();
9549 break;
9550 }
9551 case 18: {
9552 variables_.AddEntriesFrom(ref input, _repeated_variables_codec);
9553 break;
9554 }
9555 case 26: {
9556 constraints_.AddEntriesFrom(ref input, _repeated_constraints_codec);
9557 break;
9558 }
9559 case 34: {
9560 if (objective_ == null) {
9561 Objective = new global::Google.OrTools.Sat.CpObjectiveProto();
9562 }
9563 input.ReadMessage(Objective);
9564 break;
9565 }
9566 case 42: {
9567 searchStrategy_.AddEntriesFrom(ref input, _repeated_searchStrategy_codec);
9568 break;
9569 }
9570 case 50: {
9571 if (solutionHint_ == null) {
9572 SolutionHint = new global::Google.OrTools.Sat.PartialVariableAssignment();
9573 }
9574 input.ReadMessage(SolutionHint);
9575 break;
9576 }
9577 case 58:
9578 case 56: {
9579 assumptions_.AddEntriesFrom(ref input, _repeated_assumptions_codec);
9580 break;
9581 }
9582 case 66: {
9583 if (symmetry_ == null) {
9584 Symmetry = new global::Google.OrTools.Sat.SymmetryProto();
9585 }
9586 input.ReadMessage(Symmetry);
9587 break;
9588 }
9589 case 74: {
9590 if (floatingPointObjective_ == null) {
9591 FloatingPointObjective = new global::Google.OrTools.Sat.FloatObjectiveProto();
9592 }
9593 input.ReadMessage(FloatingPointObjective);
9594 break;
9595 }
9596 }
9597 }
9598 }
9599 #endif
9600
9601 }
9602
9607 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
9608 public sealed partial class CpSolverSolution : pb::IMessage<CpSolverSolution>
9609 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9610 , pb::IBufferMessage
9611 #endif
9612 {
9613 private static readonly pb::MessageParser<CpSolverSolution> _parser = new pb::MessageParser<CpSolverSolution>(() => new CpSolverSolution());
9614 private pb::UnknownFieldSet _unknownFields;
9615 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9616 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9617 public static pb::MessageParser<CpSolverSolution> Parser { get { return _parser; } }
9618
9619 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9620 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9621 public static pbr::MessageDescriptor Descriptor {
9622 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[27]; }
9623 }
9624
9625 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9626 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9627 pbr::MessageDescriptor pb::IMessage.Descriptor {
9628 get { return Descriptor; }
9629 }
9630
9631 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9632 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9633 public CpSolverSolution() {
9634 OnConstruction();
9635 }
9636
9637 partial void OnConstruction();
9638
9639 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9640 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9641 public CpSolverSolution(CpSolverSolution other) : this() {
9642 values_ = other.values_.Clone();
9643 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
9644 }
9645
9646 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9647 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9648 public CpSolverSolution Clone() {
9649 return new CpSolverSolution(this);
9650 }
9651
9653 public const int ValuesFieldNumber = 1;
9654 private static readonly pb::FieldCodec<long> _repeated_values_codec
9655 = pb::FieldCodec.ForInt64(10);
9656 private readonly pbc::RepeatedField<long> values_ = new pbc::RepeatedField<long>();
9657 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9658 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9659 public pbc::RepeatedField<long> Values {
9660 get { return values_; }
9661 }
9663 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9664 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9665 public override bool Equals(object other) {
9666 return Equals(other as CpSolverSolution);
9667 }
9668
9669 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9670 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9671 public bool Equals(CpSolverSolution other) {
9672 if (ReferenceEquals(other, null)) {
9673 return false;
9674 }
9675 if (ReferenceEquals(other, this)) {
9676 return true;
9677 }
9678 if(!values_.Equals(other.values_)) return false;
9679 return Equals(_unknownFields, other._unknownFields);
9680 }
9681
9682 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9683 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9684 public override int GetHashCode() {
9685 int hash = 1;
9686 hash ^= values_.GetHashCode();
9687 if (_unknownFields != null) {
9688 hash ^= _unknownFields.GetHashCode();
9689 }
9690 return hash;
9691 }
9692
9693 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9694 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9695 public override string ToString() {
9696 return pb::JsonFormatter.ToDiagnosticString(this);
9697 }
9699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9701 public void WriteTo(pb::CodedOutputStream output) {
9702 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9703 output.WriteRawMessage(this);
9704 #else
9705 values_.WriteTo(output, _repeated_values_codec);
9706 if (_unknownFields != null) {
9707 _unknownFields.WriteTo(output);
9708 }
9709 #endif
9711
9712 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9713 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9714 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9715 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
9716 values_.WriteTo(ref output, _repeated_values_codec);
9717 if (_unknownFields != null) {
9718 _unknownFields.WriteTo(ref output);
9719 }
9720 }
9721 #endif
9722
9723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9725 public int CalculateSize() {
9726 int size = 0;
9727 size += values_.CalculateSize(_repeated_values_codec);
9728 if (_unknownFields != null) {
9729 size += _unknownFields.CalculateSize();
9730 }
9731 return size;
9732 }
9733
9734 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9735 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9736 public void MergeFrom(CpSolverSolution other) {
9737 if (other == null) {
9738 return;
9739 }
9740 values_.Add(other.values_);
9741 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
9742 }
9743
9744 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9745 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9746 public void MergeFrom(pb::CodedInputStream input) {
9747 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9748 input.ReadRawMessage(this);
9749 #else
9750 uint tag;
9751 while ((tag = input.ReadTag()) != 0) {
9752 if ((tag & 7) == 4) {
9753 // Abort on any end group tag.
9754 return;
9755 }
9756 switch(tag) {
9757 default:
9758 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
9759 break;
9760 case 10:
9761 case 8: {
9762 values_.AddEntriesFrom(input, _repeated_values_codec);
9763 break;
9764 }
9765 }
9766 }
9767 #endif
9768 }
9769
9770 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9771 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9772 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9773 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
9774 uint tag;
9775 while ((tag = input.ReadTag()) != 0) {
9776 if ((tag & 7) == 4) {
9777 // Abort on any end group tag.
9778 return;
9779 }
9780 switch(tag) {
9781 default:
9782 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
9783 break;
9784 case 10:
9785 case 8: {
9786 values_.AddEntriesFrom(ref input, _repeated_values_codec);
9787 break;
9788 }
9789 }
9790 }
9792 #endif
9793
9794 }
9795
9801 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
9802 public sealed partial class CpSolverResponse : pb::IMessage<CpSolverResponse>
9803 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9804 , pb::IBufferMessage
9805 #endif
9806 {
9807 private static readonly pb::MessageParser<CpSolverResponse> _parser = new pb::MessageParser<CpSolverResponse>(() => new CpSolverResponse());
9808 private pb::UnknownFieldSet _unknownFields;
9809 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9810 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9811 public static pb::MessageParser<CpSolverResponse> Parser { get { return _parser; } }
9812
9813 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9814 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9815 public static pbr::MessageDescriptor Descriptor {
9816 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[28]; }
9817 }
9818
9819 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9820 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9821 pbr::MessageDescriptor pb::IMessage.Descriptor {
9822 get { return Descriptor; }
9823 }
9824
9825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9827 public CpSolverResponse() {
9828 OnConstruction();
9829 }
9830
9831 partial void OnConstruction();
9832
9833 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9834 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9835 public CpSolverResponse(CpSolverResponse other) : this() {
9836 status_ = other.status_;
9837 solution_ = other.solution_.Clone();
9838 objectiveValue_ = other.objectiveValue_;
9839 bestObjectiveBound_ = other.bestObjectiveBound_;
9840 additionalSolutions_ = other.additionalSolutions_.Clone();
9841 tightenedVariables_ = other.tightenedVariables_.Clone();
9842 sufficientAssumptionsForInfeasibility_ = other.sufficientAssumptionsForInfeasibility_.Clone();
9843 integerObjective_ = other.integerObjective_ != null ? other.integerObjective_.Clone() : null;
9844 innerObjectiveLowerBound_ = other.innerObjectiveLowerBound_;
9845 numIntegers_ = other.numIntegers_;
9846 numBooleans_ = other.numBooleans_;
9847 numFixedBooleans_ = other.numFixedBooleans_;
9848 numConflicts_ = other.numConflicts_;
9849 numBranches_ = other.numBranches_;
9850 numBinaryPropagations_ = other.numBinaryPropagations_;
9851 numIntegerPropagations_ = other.numIntegerPropagations_;
9852 numRestarts_ = other.numRestarts_;
9853 numLpIterations_ = other.numLpIterations_;
9854 wallTime_ = other.wallTime_;
9855 userTime_ = other.userTime_;
9856 deterministicTime_ = other.deterministicTime_;
9857 gapIntegral_ = other.gapIntegral_;
9858 solutionInfo_ = other.solutionInfo_;
9859 solveLog_ = other.solveLog_;
9860 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
9862
9863 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9864 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9865 public CpSolverResponse Clone() {
9866 return new CpSolverResponse(this);
9867 }
9868
9870 public const int StatusFieldNumber = 1;
9871 private global::Google.OrTools.Sat.CpSolverStatus status_ = global::Google.OrTools.Sat.CpSolverStatus.Unknown;
9873 /// The status of the solve.
9874 /// </summary>
9875 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9876 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9877 public global::Google.OrTools.Sat.CpSolverStatus Status {
9878 get { return status_; }
9879 set {
9880 status_ = value;
9882 }
9883
9885 public const int SolutionFieldNumber = 2;
9886 private static readonly pb::FieldCodec<long> _repeated_solution_codec
9887 = pb::FieldCodec.ForInt64(18);
9888 private readonly pbc::RepeatedField<long> solution_ = new pbc::RepeatedField<long>();
9895 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9896 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9897 public pbc::RepeatedField<long> Solution {
9898 get { return solution_; }
9899 }
9900
9902 public const int ObjectiveValueFieldNumber = 3;
9903 private double objectiveValue_;
9908
9910 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9911 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9912 public double ObjectiveValue {
9913 get { return objectiveValue_; }
9914 set {
9915 objectiveValue_ = value;
9917 }
9918
9920 public const int BestObjectiveBoundFieldNumber = 4;
9921 private double bestObjectiveBound_;
9923 /// Only make sense for an optimization problem. A proven lower-bound on the
9924 /// objective for a minimization problem, or a proven upper-bound for a
9925 /// maximization problem.
9926 /// </summary>
9927 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9928 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9929 public double BestObjectiveBound {
9930 get { return bestObjectiveBound_; }
9931 set {
9932 bestObjectiveBound_ = value;
9933 }
9934 }
9935
9937 public const int AdditionalSolutionsFieldNumber = 27;
9938 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.CpSolverSolution> _repeated_additionalSolutions_codec
9939 = pb::FieldCodec.ForMessage(218, global::Google.OrTools.Sat.CpSolverSolution.Parser);
9940 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.CpSolverSolution> additionalSolutions_ = new pbc::RepeatedField<global::Google.OrTools.Sat.CpSolverSolution>();
9943 /// copy all the solutions from our internal solution pool here.
9944 ///
9945 /// Note that the one returned in the solution field will likely appear here
9946 /// too. Do not rely on the solutions order as it depends on our internal
9947 /// representation (after postsolve).
9948 /// </summary>
9949 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9950 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9951 public pbc::RepeatedField<global::Google.OrTools.Sat.CpSolverSolution> AdditionalSolutions {
9952 get { return additionalSolutions_; }
9953 }
9954
9956 public const int TightenedVariablesFieldNumber = 21;
9957 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.IntegerVariableProto> _repeated_tightenedVariables_codec
9958 = pb::FieldCodec.ForMessage(170, global::Google.OrTools.Sat.IntegerVariableProto.Parser);
9959 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> tightenedVariables_ = new pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto>();
9964
9975 /// far. It might be better to solve a feasibility version if one just want to
9976 /// explore the feasible region.
9977 /// </summary>
9978 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9979 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9980 public pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> TightenedVariables {
9981 get { return tightenedVariables_; }
9982 }
9986 private static readonly pb::FieldCodec<int> _repeated_sufficientAssumptionsForInfeasibility_codec
9987 = pb::FieldCodec.ForInt32(186);
9988 private readonly pbc::RepeatedField<int> sufficientAssumptionsForInfeasibility_ = new pbc::RepeatedField<int>();
9998 /// not too large.
9999 ///
10000 /// If you really want a minimal subset, a possible way to get one is by
10001 /// changing your model to minimize the number of assumptions at false, but
10002 /// this is likely an harder problem to solve.
10003 ///
10004 /// Important: Currently, this is minimized only in single-thread and if the
10005 /// problem is not an optimization problem, otherwise, it will always include
10006 /// all the assumptions.
10007 ///
10008 /// TODO(user): Allows for returning multiple core at once.
10009 /// </summary>
10010 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10011 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10012 public pbc::RepeatedField<int> SufficientAssumptionsForInfeasibility {
10013 get { return sufficientAssumptionsForInfeasibility_; }
10014 }
10015
10017 public const int IntegerObjectiveFieldNumber = 28;
10018 private global::Google.OrTools.Sat.CpObjectiveProto integerObjective_;
10024 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10025 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10026 public global::Google.OrTools.Sat.CpObjectiveProto IntegerObjective {
10027 get { return integerObjective_; }
10028 set {
10029 integerObjective_ = value;
10031 }
10032
10033
10034 public const int InnerObjectiveLowerBoundFieldNumber = 29;
10035 private long innerObjectiveLowerBound_;
10046 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10047 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10048 public long InnerObjectiveLowerBound {
10049 get { return innerObjectiveLowerBound_; }
10050 set {
10051 innerObjectiveLowerBound_ = value;
10052 }
10053 }
10054
10056 public const int NumIntegersFieldNumber = 30;
10057 private long numIntegers_;
10065 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10066 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10067 public long NumIntegers {
10068 get { return numIntegers_; }
10069 set {
10070 numIntegers_ = value;
10072 }
10073
10075 public const int NumBooleansFieldNumber = 10;
10076 private long numBooleans_;
10077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10079 public long NumBooleans {
10080 get { return numBooleans_; }
10081 set {
10082 numBooleans_ = value;
10083 }
10084 }
10085
10086
10087 public const int NumFixedBooleansFieldNumber = 31;
10088 private long numFixedBooleans_;
10089 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10090 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10091 public long NumFixedBooleans {
10092 get { return numFixedBooleans_; }
10093 set {
10094 numFixedBooleans_ = value;
10095 }
10096 }
10097
10099 public const int NumConflictsFieldNumber = 11;
10100 private long numConflicts_;
10101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10103 public long NumConflicts {
10104 get { return numConflicts_; }
10105 set {
10106 numConflicts_ = value;
10107 }
10108 }
10109
10110
10111 public const int NumBranchesFieldNumber = 12;
10112 private long numBranches_;
10113 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10114 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10115 public long NumBranches {
10116 get { return numBranches_; }
10117 set {
10118 numBranches_ = value;
10119 }
10120 }
10121
10123 public const int NumBinaryPropagationsFieldNumber = 13;
10124 private long numBinaryPropagations_;
10125 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10126 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10127 public long NumBinaryPropagations {
10128 get { return numBinaryPropagations_; }
10129 set {
10130 numBinaryPropagations_ = value;
10131 }
10133
10135 public const int NumIntegerPropagationsFieldNumber = 14;
10136 private long numIntegerPropagations_;
10137 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10138 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10139 public long NumIntegerPropagations {
10140 get { return numIntegerPropagations_; }
10141 set {
10142 numIntegerPropagations_ = value;
10143 }
10145
10147 public const int NumRestartsFieldNumber = 24;
10148 private long numRestarts_;
10149 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10150 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10151 public long NumRestarts {
10152 get { return numRestarts_; }
10153 set {
10154 numRestarts_ = value;
10155 }
10157
10159 public const int NumLpIterationsFieldNumber = 25;
10160 private long numLpIterations_;
10161 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10162 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10163 public long NumLpIterations {
10164 get { return numLpIterations_; }
10165 set {
10166 numLpIterations_ = value;
10167 }
10169
10171 public const int WallTimeFieldNumber = 15;
10172 private double wallTime_;
10176 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10177 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10178 public double WallTime {
10179 get { return wallTime_; }
10180 set {
10181 wallTime_ = value;
10182 }
10183 }
10186 public const int UserTimeFieldNumber = 16;
10187 private double userTime_;
10188 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10189 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10190 public double UserTime {
10191 get { return userTime_; }
10192 set {
10193 userTime_ = value;
10194 }
10195 }
10198 public const int DeterministicTimeFieldNumber = 17;
10199 private double deterministicTime_;
10200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10202 public double DeterministicTime {
10203 get { return deterministicTime_; }
10204 set {
10205 deterministicTime_ = value;
10206 }
10207 }
10210 public const int GapIntegralFieldNumber = 22;
10211 private double gapIntegral_;
10214
10215 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10216 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10217 public double GapIntegral {
10218 get { return gapIntegral_; }
10219 set {
10220 gapIntegral_ = value;
10221 }
10222 }
10223
10225 public const int SolutionInfoFieldNumber = 20;
10226 private string solutionInfo_ = "";
10231 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10232 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10233 public string SolutionInfo {
10234 get { return solutionInfo_; }
10235 set {
10236 solutionInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
10237 }
10238 }
10239
10241 public const int SolveLogFieldNumber = 26;
10242 private string solveLog_ = "";
10247 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10248 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10249 public string SolveLog {
10250 get { return solveLog_; }
10251 set {
10252 solveLog_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
10253 }
10254 }
10256 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10257 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10258 public override bool Equals(object other) {
10259 return Equals(other as CpSolverResponse);
10260 }
10261
10262 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10263 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10264 public bool Equals(CpSolverResponse other) {
10265 if (ReferenceEquals(other, null)) {
10266 return false;
10268 if (ReferenceEquals(other, this)) {
10269 return true;
10270 }
10271 if (Status != other.Status) return false;
10272 if(!solution_.Equals(other.solution_)) return false;
10273 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ObjectiveValue, other.ObjectiveValue)) return false;
10274 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(BestObjectiveBound, other.BestObjectiveBound)) return false;
10275 if(!additionalSolutions_.Equals(other.additionalSolutions_)) return false;
10276 if(!tightenedVariables_.Equals(other.tightenedVariables_)) return false;
10277 if(!sufficientAssumptionsForInfeasibility_.Equals(other.sufficientAssumptionsForInfeasibility_)) return false;
10278 if (!object.Equals(IntegerObjective, other.IntegerObjective)) return false;
10279 if (InnerObjectiveLowerBound != other.InnerObjectiveLowerBound) return false;
10280 if (NumIntegers != other.NumIntegers) return false;
10281 if (NumBooleans != other.NumBooleans) return false;
10282 if (NumFixedBooleans != other.NumFixedBooleans) return false;
10283 if (NumConflicts != other.NumConflicts) return false;
10284 if (NumBranches != other.NumBranches) return false;
10285 if (NumBinaryPropagations != other.NumBinaryPropagations) return false;
10286 if (NumIntegerPropagations != other.NumIntegerPropagations) return false;
10287 if (NumRestarts != other.NumRestarts) return false;
10288 if (NumLpIterations != other.NumLpIterations) return false;
10289 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(WallTime, other.WallTime)) return false;
10290 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(UserTime, other.UserTime)) return false;
10291 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DeterministicTime, other.DeterministicTime)) return false;
10292 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(GapIntegral, other.GapIntegral)) return false;
10293 if (SolutionInfo != other.SolutionInfo) return false;
10294 if (SolveLog != other.SolveLog) return false;
10295 return Equals(_unknownFields, other._unknownFields);
10296 }
10297
10298 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10299 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10300 public override int GetHashCode() {
10301 int hash = 1;
10302 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) hash ^= Status.GetHashCode();
10303 hash ^= solution_.GetHashCode();
10304 if (ObjectiveValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ObjectiveValue);
10305 if (BestObjectiveBound != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(BestObjectiveBound);
10306 hash ^= additionalSolutions_.GetHashCode();
10307 hash ^= tightenedVariables_.GetHashCode();
10308 hash ^= sufficientAssumptionsForInfeasibility_.GetHashCode();
10309 if (integerObjective_ != null) hash ^= IntegerObjective.GetHashCode();
10310 if (InnerObjectiveLowerBound != 0L) hash ^= InnerObjectiveLowerBound.GetHashCode();
10311 if (NumIntegers != 0L) hash ^= NumIntegers.GetHashCode();
10312 if (NumBooleans != 0L) hash ^= NumBooleans.GetHashCode();
10313 if (NumFixedBooleans != 0L) hash ^= NumFixedBooleans.GetHashCode();
10314 if (NumConflicts != 0L) hash ^= NumConflicts.GetHashCode();
10315 if (NumBranches != 0L) hash ^= NumBranches.GetHashCode();
10316 if (NumBinaryPropagations != 0L) hash ^= NumBinaryPropagations.GetHashCode();
10317 if (NumIntegerPropagations != 0L) hash ^= NumIntegerPropagations.GetHashCode();
10318 if (NumRestarts != 0L) hash ^= NumRestarts.GetHashCode();
10319 if (NumLpIterations != 0L) hash ^= NumLpIterations.GetHashCode();
10320 if (WallTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(WallTime);
10321 if (UserTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(UserTime);
10322 if (DeterministicTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DeterministicTime);
10323 if (GapIntegral != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(GapIntegral);
10324 if (SolutionInfo.Length != 0) hash ^= SolutionInfo.GetHashCode();
10325 if (SolveLog.Length != 0) hash ^= SolveLog.GetHashCode();
10326 if (_unknownFields != null) {
10327 hash ^= _unknownFields.GetHashCode();
10328 }
10329 return hash;
10330 }
10331
10332 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10333 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10334 public override string ToString() {
10335 return pb::JsonFormatter.ToDiagnosticString(this);
10336 }
10337
10338 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10339 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10340 public void WriteTo(pb::CodedOutputStream output) {
10341 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10342 output.WriteRawMessage(this);
10343 #else
10344 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10345 output.WriteRawTag(8);
10346 output.WriteEnum((int) Status);
10347 }
10348 solution_.WriteTo(output, _repeated_solution_codec);
10349 if (ObjectiveValue != 0D) {
10350 output.WriteRawTag(25);
10351 output.WriteDouble(ObjectiveValue);
10352 }
10353 if (BestObjectiveBound != 0D) {
10354 output.WriteRawTag(33);
10355 output.WriteDouble(BestObjectiveBound);
10356 }
10357 if (NumBooleans != 0L) {
10358 output.WriteRawTag(80);
10359 output.WriteInt64(NumBooleans);
10360 }
10361 if (NumConflicts != 0L) {
10362 output.WriteRawTag(88);
10363 output.WriteInt64(NumConflicts);
10364 }
10365 if (NumBranches != 0L) {
10366 output.WriteRawTag(96);
10367 output.WriteInt64(NumBranches);
10368 }
10369 if (NumBinaryPropagations != 0L) {
10370 output.WriteRawTag(104);
10371 output.WriteInt64(NumBinaryPropagations);
10372 }
10373 if (NumIntegerPropagations != 0L) {
10374 output.WriteRawTag(112);
10375 output.WriteInt64(NumIntegerPropagations);
10376 }
10377 if (WallTime != 0D) {
10378 output.WriteRawTag(121);
10379 output.WriteDouble(WallTime);
10380 }
10381 if (UserTime != 0D) {
10382 output.WriteRawTag(129, 1);
10383 output.WriteDouble(UserTime);
10384 }
10385 if (DeterministicTime != 0D) {
10386 output.WriteRawTag(137, 1);
10387 output.WriteDouble(DeterministicTime);
10388 }
10389 if (SolutionInfo.Length != 0) {
10390 output.WriteRawTag(162, 1);
10391 output.WriteString(SolutionInfo);
10392 }
10393 tightenedVariables_.WriteTo(output, _repeated_tightenedVariables_codec);
10394 if (GapIntegral != 0D) {
10395 output.WriteRawTag(177, 1);
10396 output.WriteDouble(GapIntegral);
10398 sufficientAssumptionsForInfeasibility_.WriteTo(output, _repeated_sufficientAssumptionsForInfeasibility_codec);
10399 if (NumRestarts != 0L) {
10400 output.WriteRawTag(192, 1);
10401 output.WriteInt64(NumRestarts);
10402 }
10403 if (NumLpIterations != 0L) {
10404 output.WriteRawTag(200, 1);
10405 output.WriteInt64(NumLpIterations);
10406 }
10407 if (SolveLog.Length != 0) {
10408 output.WriteRawTag(210, 1);
10409 output.WriteString(SolveLog);
10410 }
10411 additionalSolutions_.WriteTo(output, _repeated_additionalSolutions_codec);
10412 if (integerObjective_ != null) {
10413 output.WriteRawTag(226, 1);
10414 output.WriteMessage(IntegerObjective);
10415 }
10416 if (InnerObjectiveLowerBound != 0L) {
10417 output.WriteRawTag(232, 1);
10418 output.WriteInt64(InnerObjectiveLowerBound);
10419 }
10420 if (NumIntegers != 0L) {
10421 output.WriteRawTag(240, 1);
10422 output.WriteInt64(NumIntegers);
10423 }
10424 if (NumFixedBooleans != 0L) {
10425 output.WriteRawTag(248, 1);
10426 output.WriteInt64(NumFixedBooleans);
10427 }
10428 if (_unknownFields != null) {
10429 _unknownFields.WriteTo(output);
10430 }
10431 #endif
10432 }
10433
10434 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10435 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10436 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10437 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
10438 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10439 output.WriteRawTag(8);
10440 output.WriteEnum((int) Status);
10441 }
10442 solution_.WriteTo(ref output, _repeated_solution_codec);
10443 if (ObjectiveValue != 0D) {
10444 output.WriteRawTag(25);
10445 output.WriteDouble(ObjectiveValue);
10446 }
10447 if (BestObjectiveBound != 0D) {
10448 output.WriteRawTag(33);
10449 output.WriteDouble(BestObjectiveBound);
10450 }
10451 if (NumBooleans != 0L) {
10452 output.WriteRawTag(80);
10453 output.WriteInt64(NumBooleans);
10454 }
10455 if (NumConflicts != 0L) {
10456 output.WriteRawTag(88);
10457 output.WriteInt64(NumConflicts);
10458 }
10459 if (NumBranches != 0L) {
10460 output.WriteRawTag(96);
10461 output.WriteInt64(NumBranches);
10462 }
10463 if (NumBinaryPropagations != 0L) {
10464 output.WriteRawTag(104);
10465 output.WriteInt64(NumBinaryPropagations);
10466 }
10467 if (NumIntegerPropagations != 0L) {
10468 output.WriteRawTag(112);
10469 output.WriteInt64(NumIntegerPropagations);
10470 }
10471 if (WallTime != 0D) {
10472 output.WriteRawTag(121);
10473 output.WriteDouble(WallTime);
10474 }
10475 if (UserTime != 0D) {
10476 output.WriteRawTag(129, 1);
10477 output.WriteDouble(UserTime);
10478 }
10479 if (DeterministicTime != 0D) {
10480 output.WriteRawTag(137, 1);
10481 output.WriteDouble(DeterministicTime);
10482 }
10483 if (SolutionInfo.Length != 0) {
10484 output.WriteRawTag(162, 1);
10485 output.WriteString(SolutionInfo);
10486 }
10487 tightenedVariables_.WriteTo(ref output, _repeated_tightenedVariables_codec);
10488 if (GapIntegral != 0D) {
10489 output.WriteRawTag(177, 1);
10490 output.WriteDouble(GapIntegral);
10491 }
10492 sufficientAssumptionsForInfeasibility_.WriteTo(ref output, _repeated_sufficientAssumptionsForInfeasibility_codec);
10493 if (NumRestarts != 0L) {
10494 output.WriteRawTag(192, 1);
10495 output.WriteInt64(NumRestarts);
10496 }
10497 if (NumLpIterations != 0L) {
10498 output.WriteRawTag(200, 1);
10499 output.WriteInt64(NumLpIterations);
10500 }
10501 if (SolveLog.Length != 0) {
10502 output.WriteRawTag(210, 1);
10503 output.WriteString(SolveLog);
10504 }
10505 additionalSolutions_.WriteTo(ref output, _repeated_additionalSolutions_codec);
10506 if (integerObjective_ != null) {
10507 output.WriteRawTag(226, 1);
10508 output.WriteMessage(IntegerObjective);
10509 }
10510 if (InnerObjectiveLowerBound != 0L) {
10511 output.WriteRawTag(232, 1);
10512 output.WriteInt64(InnerObjectiveLowerBound);
10513 }
10514 if (NumIntegers != 0L) {
10515 output.WriteRawTag(240, 1);
10516 output.WriteInt64(NumIntegers);
10517 }
10518 if (NumFixedBooleans != 0L) {
10519 output.WriteRawTag(248, 1);
10520 output.WriteInt64(NumFixedBooleans);
10521 }
10522 if (_unknownFields != null) {
10523 _unknownFields.WriteTo(ref output);
10524 }
10525 }
10526 #endif
10527
10528 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10529 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10530 public int CalculateSize() {
10531 int size = 0;
10532 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10533 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
10534 }
10535 size += solution_.CalculateSize(_repeated_solution_codec);
10536 if (ObjectiveValue != 0D) {
10537 size += 1 + 8;
10538 }
10539 if (BestObjectiveBound != 0D) {
10540 size += 1 + 8;
10541 }
10542 size += additionalSolutions_.CalculateSize(_repeated_additionalSolutions_codec);
10543 size += tightenedVariables_.CalculateSize(_repeated_tightenedVariables_codec);
10544 size += sufficientAssumptionsForInfeasibility_.CalculateSize(_repeated_sufficientAssumptionsForInfeasibility_codec);
10545 if (integerObjective_ != null) {
10546 size += 2 + pb::CodedOutputStream.ComputeMessageSize(IntegerObjective);
10547 }
10548 if (InnerObjectiveLowerBound != 0L) {
10549 size += 2 + pb::CodedOutputStream.ComputeInt64Size(InnerObjectiveLowerBound);
10550 }
10551 if (NumIntegers != 0L) {
10552 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumIntegers);
10553 }
10554 if (NumBooleans != 0L) {
10555 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumBooleans);
10556 }
10557 if (NumFixedBooleans != 0L) {
10558 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumFixedBooleans);
10559 }
10560 if (NumConflicts != 0L) {
10561 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumConflicts);
10562 }
10563 if (NumBranches != 0L) {
10564 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumBranches);
10565 }
10566 if (NumBinaryPropagations != 0L) {
10567 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumBinaryPropagations);
10568 }
10569 if (NumIntegerPropagations != 0L) {
10570 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumIntegerPropagations);
10571 }
10572 if (NumRestarts != 0L) {
10573 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumRestarts);
10574 }
10575 if (NumLpIterations != 0L) {
10576 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumLpIterations);
10577 }
10578 if (WallTime != 0D) {
10579 size += 1 + 8;
10580 }
10581 if (UserTime != 0D) {
10582 size += 2 + 8;
10583 }
10584 if (DeterministicTime != 0D) {
10585 size += 2 + 8;
10586 }
10587 if (GapIntegral != 0D) {
10588 size += 2 + 8;
10589 }
10590 if (SolutionInfo.Length != 0) {
10591 size += 2 + pb::CodedOutputStream.ComputeStringSize(SolutionInfo);
10592 }
10593 if (SolveLog.Length != 0) {
10594 size += 2 + pb::CodedOutputStream.ComputeStringSize(SolveLog);
10595 }
10596 if (_unknownFields != null) {
10597 size += _unknownFields.CalculateSize();
10598 }
10599 return size;
10600 }
10601
10602 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10603 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10604 public void MergeFrom(CpSolverResponse other) {
10605 if (other == null) {
10606 return;
10607 }
10608 if (other.Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10609 Status = other.Status;
10610 }
10611 solution_.Add(other.solution_);
10612 if (other.ObjectiveValue != 0D) {
10613 ObjectiveValue = other.ObjectiveValue;
10614 }
10615 if (other.BestObjectiveBound != 0D) {
10616 BestObjectiveBound = other.BestObjectiveBound;
10617 }
10618 additionalSolutions_.Add(other.additionalSolutions_);
10619 tightenedVariables_.Add(other.tightenedVariables_);
10620 sufficientAssumptionsForInfeasibility_.Add(other.sufficientAssumptionsForInfeasibility_);
10621 if (other.integerObjective_ != null) {
10622 if (integerObjective_ == null) {
10623 IntegerObjective = new global::Google.OrTools.Sat.CpObjectiveProto();
10624 }
10625 IntegerObjective.MergeFrom(other.IntegerObjective);
10626 }
10627 if (other.InnerObjectiveLowerBound != 0L) {
10628 InnerObjectiveLowerBound = other.InnerObjectiveLowerBound;
10629 }
10630 if (other.NumIntegers != 0L) {
10631 NumIntegers = other.NumIntegers;
10632 }
10633 if (other.NumBooleans != 0L) {
10634 NumBooleans = other.NumBooleans;
10635 }
10636 if (other.NumFixedBooleans != 0L) {
10637 NumFixedBooleans = other.NumFixedBooleans;
10638 }
10639 if (other.NumConflicts != 0L) {
10640 NumConflicts = other.NumConflicts;
10641 }
10642 if (other.NumBranches != 0L) {
10643 NumBranches = other.NumBranches;
10644 }
10645 if (other.NumBinaryPropagations != 0L) {
10646 NumBinaryPropagations = other.NumBinaryPropagations;
10647 }
10648 if (other.NumIntegerPropagations != 0L) {
10649 NumIntegerPropagations = other.NumIntegerPropagations;
10650 }
10651 if (other.NumRestarts != 0L) {
10652 NumRestarts = other.NumRestarts;
10653 }
10654 if (other.NumLpIterations != 0L) {
10655 NumLpIterations = other.NumLpIterations;
10656 }
10657 if (other.WallTime != 0D) {
10658 WallTime = other.WallTime;
10659 }
10660 if (other.UserTime != 0D) {
10661 UserTime = other.UserTime;
10662 }
10663 if (other.DeterministicTime != 0D) {
10664 DeterministicTime = other.DeterministicTime;
10665 }
10666 if (other.GapIntegral != 0D) {
10667 GapIntegral = other.GapIntegral;
10668 }
10669 if (other.SolutionInfo.Length != 0) {
10670 SolutionInfo = other.SolutionInfo;
10671 }
10672 if (other.SolveLog.Length != 0) {
10673 SolveLog = other.SolveLog;
10674 }
10675 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
10676 }
10677
10678 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10679 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10680 public void MergeFrom(pb::CodedInputStream input) {
10681 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10682 input.ReadRawMessage(this);
10683 #else
10684 uint tag;
10685 while ((tag = input.ReadTag()) != 0) {
10686 if ((tag & 7) == 4) {
10687 // Abort on any end group tag.
10688 return;
10689 }
10690 switch(tag) {
10691 default:
10692 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
10693 break;
10694 case 8: {
10695 Status = (global::Google.OrTools.Sat.CpSolverStatus) input.ReadEnum();
10696 break;
10697 }
10698 case 18:
10699 case 16: {
10700 solution_.AddEntriesFrom(input, _repeated_solution_codec);
10701 break;
10702 }
10703 case 25: {
10704 ObjectiveValue = input.ReadDouble();
10705 break;
10706 }
10707 case 33: {
10708 BestObjectiveBound = input.ReadDouble();
10709 break;
10710 }
10711 case 80: {
10712 NumBooleans = input.ReadInt64();
10713 break;
10714 }
10715 case 88: {
10716 NumConflicts = input.ReadInt64();
10717 break;
10718 }
10719 case 96: {
10720 NumBranches = input.ReadInt64();
10721 break;
10722 }
10723 case 104: {
10724 NumBinaryPropagations = input.ReadInt64();
10725 break;
10726 }
10727 case 112: {
10728 NumIntegerPropagations = input.ReadInt64();
10729 break;
10730 }
10731 case 121: {
10732 WallTime = input.ReadDouble();
10733 break;
10734 }
10735 case 129: {
10736 UserTime = input.ReadDouble();
10737 break;
10738 }
10739 case 137: {
10740 DeterministicTime = input.ReadDouble();
10741 break;
10742 }
10743 case 162: {
10744 SolutionInfo = input.ReadString();
10745 break;
10746 }
10747 case 170: {
10748 tightenedVariables_.AddEntriesFrom(input, _repeated_tightenedVariables_codec);
10749 break;
10750 }
10751 case 177: {
10752 GapIntegral = input.ReadDouble();
10753 break;
10754 }
10755 case 186:
10756 case 184: {
10757 sufficientAssumptionsForInfeasibility_.AddEntriesFrom(input, _repeated_sufficientAssumptionsForInfeasibility_codec);
10758 break;
10759 }
10760 case 192: {
10761 NumRestarts = input.ReadInt64();
10762 break;
10763 }
10764 case 200: {
10765 NumLpIterations = input.ReadInt64();
10766 break;
10767 }
10768 case 210: {
10769 SolveLog = input.ReadString();
10770 break;
10771 }
10772 case 218: {
10773 additionalSolutions_.AddEntriesFrom(input, _repeated_additionalSolutions_codec);
10774 break;
10775 }
10776 case 226: {
10777 if (integerObjective_ == null) {
10778 IntegerObjective = new global::Google.OrTools.Sat.CpObjectiveProto();
10779 }
10780 input.ReadMessage(IntegerObjective);
10781 break;
10782 }
10783 case 232: {
10784 InnerObjectiveLowerBound = input.ReadInt64();
10785 break;
10786 }
10787 case 240: {
10788 NumIntegers = input.ReadInt64();
10789 break;
10790 }
10791 case 248: {
10792 NumFixedBooleans = input.ReadInt64();
10793 break;
10794 }
10795 }
10796 }
10797 #endif
10798 }
10799
10800 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10801 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10802 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10803 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
10804 uint tag;
10805 while ((tag = input.ReadTag()) != 0) {
10806 if ((tag & 7) == 4) {
10807 // Abort on any end group tag.
10808 return;
10809 }
10810 switch(tag) {
10811 default:
10812 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
10813 break;
10814 case 8: {
10815 Status = (global::Google.OrTools.Sat.CpSolverStatus) input.ReadEnum();
10816 break;
10817 }
10818 case 18:
10819 case 16: {
10820 solution_.AddEntriesFrom(ref input, _repeated_solution_codec);
10821 break;
10822 }
10823 case 25: {
10824 ObjectiveValue = input.ReadDouble();
10825 break;
10826 }
10827 case 33: {
10828 BestObjectiveBound = input.ReadDouble();
10829 break;
10830 }
10831 case 80: {
10832 NumBooleans = input.ReadInt64();
10833 break;
10834 }
10835 case 88: {
10836 NumConflicts = input.ReadInt64();
10837 break;
10838 }
10839 case 96: {
10840 NumBranches = input.ReadInt64();
10841 break;
10842 }
10843 case 104: {
10844 NumBinaryPropagations = input.ReadInt64();
10845 break;
10846 }
10847 case 112: {
10848 NumIntegerPropagations = input.ReadInt64();
10849 break;
10850 }
10851 case 121: {
10852 WallTime = input.ReadDouble();
10853 break;
10854 }
10855 case 129: {
10856 UserTime = input.ReadDouble();
10857 break;
10858 }
10859 case 137: {
10860 DeterministicTime = input.ReadDouble();
10861 break;
10862 }
10863 case 162: {
10864 SolutionInfo = input.ReadString();
10865 break;
10866 }
10867 case 170: {
10868 tightenedVariables_.AddEntriesFrom(ref input, _repeated_tightenedVariables_codec);
10869 break;
10870 }
10871 case 177: {
10872 GapIntegral = input.ReadDouble();
10873 break;
10874 }
10875 case 186:
10876 case 184: {
10877 sufficientAssumptionsForInfeasibility_.AddEntriesFrom(ref input, _repeated_sufficientAssumptionsForInfeasibility_codec);
10878 break;
10879 }
10880 case 192: {
10881 NumRestarts = input.ReadInt64();
10882 break;
10883 }
10884 case 200: {
10885 NumLpIterations = input.ReadInt64();
10886 break;
10887 }
10888 case 210: {
10889 SolveLog = input.ReadString();
10890 break;
10891 }
10892 case 218: {
10893 additionalSolutions_.AddEntriesFrom(ref input, _repeated_additionalSolutions_codec);
10894 break;
10895 }
10896 case 226: {
10897 if (integerObjective_ == null) {
10898 IntegerObjective = new global::Google.OrTools.Sat.CpObjectiveProto();
10899 }
10900 input.ReadMessage(IntegerObjective);
10901 break;
10902 }
10903 case 232: {
10904 InnerObjectiveLowerBound = input.ReadInt64();
10905 break;
10906 }
10907 case 240: {
10908 NumIntegers = input.ReadInt64();
10909 break;
10910 }
10911 case 248: {
10912 NumFixedBooleans = input.ReadInt64();
10913 break;
10914 }
10915 }
10916 }
10917 }
10918 #endif
10919
10920 }
10921
10922 #endregion
10923
10924}
10925
10926#endregion Designer generated code
global::Google.Protobuf pb
global::Google.Protobuf.Reflection pbr
global::System.Collections.Generic scg
global::Google.Protobuf.Collections pbc
All expressions must take different values.
AllDifferentConstraintProto(AllDifferentConstraintProto other)
static pbr::MessageDescriptor Descriptor
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
static pb::MessageParser< AllDifferentConstraintProto > Parser
void MergeFrom(AllDifferentConstraintProto other)
bool Equals(AllDifferentConstraintProto other)
pbc::RepeatedField< long > TransitionTail
List of transitions (all 3 vectors have the same size). Both tail and head are states,...
pbc::RepeatedField< long > TransitionHead
const int TransitionHeadFieldNumber
Field number for the "transition_head" field.
pbc::RepeatedField< long > TransitionLabel
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
The sequence of expressions. The automaton is ran for exprs_size() "steps" and the value of exprs[i] ...
pbc::RepeatedField< int > Vars
Legacy field.
pbc::RepeatedField< long > FinalStates
const int VarsFieldNumber
Field number for the "vars" field.
static pbr::MessageDescriptor Descriptor
void WriteTo(pb::CodedOutputStream output)
long StartingState
A state is identified by a non-negative number. It is preferable to keep all the states dense in says...
const int FinalStatesFieldNumber
Field number for the "final_states" field.
Argument of the constraints of the form OP(literals).
BoolArgumentProto(BoolArgumentProto other)
static pb::MessageParser< BoolArgumentProto > Parser
static pbr::MessageDescriptor Descriptor
void MergeFrom(BoolArgumentProto other)
bool Equals(BoolArgumentProto other)
pbc::RepeatedField< int > Literals
The circuit constraint is defined on a graph where the arc presence are controlled by literals....
override bool Equals(object other)
static pbr::MessageDescriptor Descriptor
void WriteTo(pb::CodedOutputStream output)
ConstraintOneofCase
Enum of possible cases for the "constraint" oneof.
global::Google.OrTools.Sat.LinearArgumentProto IntMod
The int_mod constraint forces the target to equal exprs[0] % exprs[1]. The domain of exprs[1] must be...
global::Google.OrTools.Sat.ReservoirConstraintProto Reservoir
The reservoir constraint forces the sum of a set of active demands to always be between a specified m...
global::Google.OrTools.Sat.TableConstraintProto Table
The table constraint enforces what values a tuple of variables may take.
bool Equals(ConstraintProto other)
global::Google.OrTools.Sat.LinearArgumentProto IntProd
The int_prod constraint forces the target to equal the product of all variables. By convention,...
global::Google.OrTools.Sat.AutomatonConstraintProto Automaton
The automaton constraint forces a sequence of variables to be accepted by an automaton.
global::Google.OrTools.Sat.BoolArgumentProto BoolXor
The bool_xor constraint forces an odd number of the literals to be true.
global::Google.OrTools.Sat.LinearArgumentProto LinMax
The lin_max constraint forces the target to equal the maximum of all linear expressions.
ConstraintOneofCase ConstraintCase
global::Google.OrTools.Sat.NoOverlap2DConstraintProto NoOverlap2D
The no_overlap_2d constraint prevents a set of boxes from overlapping.
global::Google.OrTools.Sat.BoolArgumentProto AtMostOne
The at_most_one constraint enforces that no more than one literal is true at the same time.
global::Google.OrTools.Sat.LinearConstraintProto Linear
The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.
static pbr::MessageDescriptor Descriptor
global::Google.OrTools.Sat.ElementConstraintProto Element
The element constraint forces the variable with the given index to be equal to the target.
global::Google.OrTools.Sat.BoolArgumentProto ExactlyOne
The exactly_one constraint force exactly one literal to true and no more.
global::Google.OrTools.Sat.IntervalConstraintProto Interval
The interval constraint takes a start, end, and size, and forces start + size == end.
global::Google.OrTools.Sat.LinearArgumentProto IntDiv
The int_div constraint forces the target to equal exprs[0] / exprs[1]. The division is "rounded" towa...
const int EnforcementLiteralFieldNumber
Field number for the "enforcement_literal" field.
global::Google.OrTools.Sat.AllDifferentConstraintProto AllDiff
The all_diff constraint forces all variables to take different values.
global::Google.OrTools.Sat.CumulativeConstraintProto Cumulative
The cumulative constraint ensures that for any integer point, the sum of the demands of the intervals...
global::Google.OrTools.Sat.NoOverlapConstraintProto NoOverlap
The no_overlap constraint prevents a set of intervals from overlapping; in scheduling,...
global::Google.OrTools.Sat.ListOfVariablesProto DummyConstraint
This constraint is not meant to be used and will be rejected by the solver. It is meant to mark varia...
global::Google.OrTools.Sat.RoutesConstraintProto Routes
The routes constraint implements the vehicle routing problem.
pbc::RepeatedField< int > EnforcementLiteral
The constraint will be enforced iff all literals listed here are true. If this is empty,...
global::Google.OrTools.Sat.BoolArgumentProto BoolAnd
The bool_and constraint forces all of the literals to be true.
global::Google.OrTools.Sat.BoolArgumentProto BoolOr
The bool_or constraint forces at least one literal to be true.
static pb::MessageParser< ConstraintProto > Parser
const int IntProdFieldNumber
Field number for the "int_prod" field.
global::Google.OrTools.Sat.CircuitConstraintProto Circuit
The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a li...
global::Google.OrTools.Sat.InverseConstraintProto Inverse
The inverse constraint forces two arrays to be inverses of each other: the values of one are the indi...
override bool Equals(object other)
A constraint programming problem.
global::Google.OrTools.Sat.CpObjectiveProto Objective
The objective to minimize. Can be empty for pure decision problems.
override bool Equals(object other)
pbc::RepeatedField< global::Google.OrTools.Sat.IntegerVariableProto > Variables
The associated Protos should be referred by their index in these fields.
void WriteTo(pb::CodedOutputStream output)
global::Google.OrTools.Sat.PartialVariableAssignment SolutionHint
Solution hint.
global::Google.OrTools.Sat.FloatObjectiveProto FloatingPointObjective
Advanced usage. It is invalid to have both an objective and a floating point objective.
pbc::RepeatedField< global::Google.OrTools.Sat.DecisionStrategyProto > SearchStrategy
Defines the strategy that the solver should follow when the search_branching parameter is set to FIXE...
pbc::RepeatedField< global::Google.OrTools.Sat.ConstraintProto > Constraints
global::Google.OrTools.Sat.SymmetryProto Symmetry
For now, this is not meant to be filled by a client writing a model, but by our preprocessing step.
string Name
For debug/logging only. Can be empty.
pbc::RepeatedField< int > Assumptions
A list of literals. The model will be solved assuming all these literals are true....
Holder for reflection information generated from ortools/sat/cp_model.proto.
Definition CpModel.pb.cs:15
static pbr::FileDescriptor Descriptor
File descriptor for ortools/sat/cp_model.proto.
Definition CpModel.pb.cs:19
const int OffsetFieldNumber
Field number for the "offset" field.
const int ScalingWasExactFieldNumber
Field number for the "scaling_was_exact" field.
bool ScalingWasExact
Internal field. Do not set. When we scale a FloatObjectiveProto to a integer version,...
pbc::RepeatedField< long > Domain
If non-empty, only look for an objective value in the given domain.
pbc::RepeatedField< int > Vars
The linear terms of the objective to minimize. For a maximization problem, one can negate all coeffic...
double Offset
The displayed objective is always: scaling_factor * (sum(coefficients[i] * objective_vars[i]) + offse...
void MergeFrom(CpObjectiveProto other)
const int VarsFieldNumber
Field number for the "vars" field.
pbc::RepeatedField< long > Coeffs
long IntegerBeforeOffset
Internal fields to recover a bound on the original integer objective from the presolved one....
override bool Equals(object other)
The response returned by a solver trying to solve a CpModelProto.
pbc::RepeatedField< int > SufficientAssumptionsForInfeasibility
A subset of the model "assumptions" field. This will only be filled if the status is INFEASIBLE....
long InnerObjectiveLowerBound
Advanced usage.
double ObjectiveValue
Only make sense for an optimization problem. The objective value of the returned solution if it is no...
override bool Equals(object other)
long NumIntegers
Some statistics about the solve.
string SolutionInfo
Additional information about how the solution was found. It also stores model or parameters errors th...
pbc::RepeatedField< global::Google.OrTools.Sat.IntegerVariableProto > TightenedVariables
Advanced usage.
pbc::RepeatedField< global::Google.OrTools.Sat.CpSolverSolution > AdditionalSolutions
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from ou...
const int GapIntegralFieldNumber
Field number for the "gap_integral" field.
string SolveLog
The solve log will be filled if the parameter log_to_response is set to true.
const int SufficientAssumptionsForInfeasibilityFieldNumber
Field number for the "sufficient_assumptions_for_infeasibility" field.
global::Google.OrTools.Sat.CpObjectiveProto IntegerObjective
Contains the integer objective optimized internally. This is only filled if the problem had a floatin...
double WallTime
The time counted from the beginning of the Solve() call.
const int DeterministicTimeFieldNumber
Field number for the "deterministic_time" field.
double GapIntegral
The integral of log(1 + absolute_objective_gap) over time.
const int UserTimeFieldNumber
Field number for the "user_time" field.
double BestObjectiveBound
Only make sense for an optimization problem. A proven lower-bound on the objective for a minimization...
global::Google.OrTools.Sat.CpSolverStatus Status
The status of the solve.
Just a message used to store dense solution. This is used by the additional_solutions field.
static pb::MessageParser< CpSolverSolution > Parser
void MergeFrom(CpSolverSolution other)
void WriteTo(pb::CodedOutputStream output)
pbc::RepeatedField< long > Values
override bool Equals(object other)
const int ValuesFieldNumber
Field number for the "values" field.
The sum of the demands of the intervals at each interval point cannot exceed a capacity....
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Demands
Same size as intervals.
static pbr::MessageDescriptor Descriptor
global::Google.OrTools.Sat.LinearExpressionProto Capacity
const int CapacityFieldNumber
Field number for the "capacity" field.
const int IntervalsFieldNumber
Field number for the "intervals" field.
void MergeFrom(CumulativeConstraintProto other)
Container for nested types declared in the DecisionStrategyProto message type.
DomainReductionStrategy
Once a variable (resp. affine expression) has been chosen, this enum describe what decision is taken ...
VariableSelectionStrategy
The order in which the variables (resp. affine expression) above should be considered....
Define the strategy to follow when the solver needs to take a new decision.
pbc::RepeatedField< int > Variables
The variables to be considered for the next decision. The order matter and is always used as a tie-br...
static pbr::MessageDescriptor Descriptor
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
If this is set, then the variables field must be empty. We currently only support affine expression.
const int DomainReductionStrategyFieldNumber
Field number for the "domain_reduction_strategy" field.
global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy DomainReductionStrategy
const int ExprsFieldNumber
Field number for the "exprs" field.
global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy VariableSelectionStrategy
override bool Equals(object other)
static pb::MessageParser< DecisionStrategyProto > Parser
A dense matrix of numbers encoded in a flat way, row by row. That is matrix[i][j] = entries[i * num_c...
void MergeFrom(DenseMatrixProto other)
const int NumColsFieldNumber
Field number for the "num_cols" field.
override bool Equals(object other)
const int NumRowsFieldNumber
Field number for the "num_rows" field.
void WriteTo(pb::CodedOutputStream output)
pbc::RepeatedField< int > Entries
static pb::MessageParser< DenseMatrixProto > Parser
The constraint linear_target = exprs[linear_index]. This enforces that index takes one of the value i...
global::Google.OrTools.Sat.LinearExpressionProto LinearIndex
global::Google.OrTools.Sat.LinearExpressionProto LinearTarget
pbc::RepeatedField< int > Vars
Legacy field.
override bool Equals(object other)
static pb::MessageParser< ElementConstraintProto > Parser
static pbr::MessageDescriptor Descriptor
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
A linear floating point objective: sum coeffs[i] * vars[i] + offset.
pbc::RepeatedField< double > Coeffs
bool Maximize
The optimization direction. The default is to minimize.
override bool Equals(object other)
static pb::MessageParser< IntegerVariableProto > Parser
override bool Equals(object other)
pbc::RepeatedField< long > Domain
The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0,...
const int NameFieldNumber
Field number for the "name" field.
string Name
For debug/logging only. Can be empty.
static pbr::MessageDescriptor Descriptor
This is not really a constraint. It is there so it can be referred by other constraints using this "i...
global::Google.OrTools.Sat.LinearExpressionProto End
static pbr::MessageDescriptor Descriptor
bool Equals(IntervalConstraintProto other)
const int SizeFieldNumber
Field number for the "size" field.
global::Google.OrTools.Sat.LinearExpressionProto Start
override bool Equals(object other)
global::Google.OrTools.Sat.LinearExpressionProto Size
const int EndFieldNumber
Field number for the "end" field.
IntervalConstraintProto(IntervalConstraintProto other)
The two arrays of variable each represent a function, the second is the inverse of the first: f_direc...
void MergeFrom(InverseConstraintProto other)
static pbr::MessageDescriptor Descriptor
override bool Equals(object other)
const int FDirectFieldNumber
Field number for the "f_direct" field.
static pbr::MessageDescriptor Descriptor
override bool Equals(object other)
static pb::MessageParser< LinearArgumentProto > Parser
const int ExprsFieldNumber
Field number for the "exprs" field.
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
global::Google.OrTools.Sat.LinearExpressionProto Target
The linear sum vars[i] * coeffs[i] must fall in the given domain. The domain has the same format as t...
static pb::MessageParser< LinearConstraintProto > Parser
override bool Equals(object other)
const int CoeffsFieldNumber
Field number for the "coeffs" field.
pbc::RepeatedField< long > Coeffs
Same size as vars.
pbc::RepeatedField< long > Domain
static pbr::MessageDescriptor Descriptor
void MergeFrom(LinearConstraintProto other)
Some constraints supports linear expression instead of just using a reference to a variable....
pbc::RepeatedField< long > Coeffs
override bool Equals(object other)
static pbr::MessageDescriptor Descriptor
static pb::MessageParser< LinearExpressionProto > Parser
A list of variables, without any semantics.
static pbr::MessageDescriptor Descriptor
const int VarsFieldNumber
Field number for the "vars" field.
void MergeFrom(ListOfVariablesProto other)
override bool Equals(object other)
The boxes defined by [start_x, end_x) * [start_y, end_y) cannot overlap. Furthermore,...
const int YIntervalsFieldNumber
Field number for the "y_intervals" field.
const int XIntervalsFieldNumber
Field number for the "x_intervals" field.
static pbr::MessageDescriptor Descriptor
void MergeFrom(NoOverlap2DConstraintProto other)
pbc::RepeatedField< int > YIntervals
Same size as x_intervals.
All the intervals (index of IntervalConstraintProto) must be disjoint. More formally,...
const int IntervalsFieldNumber
Field number for the "intervals" field.
void MergeFrom(NoOverlapConstraintProto other)
static pbr::MessageDescriptor Descriptor
This message encodes a partial (or full) assignment of the variables of a CpModelProto....
const int VarsFieldNumber
Field number for the "vars" field.
Maintain a reservoir level within bounds. The water level starts at 0, and at any time,...
const int MinLevelFieldNumber
Field number for the "min_level" field.
const int MaxLevelFieldNumber
Field number for the "max_level" field.
static pbr::MessageDescriptor Descriptor
const int ActiveLiteralsFieldNumber
Field number for the "active_literals" field.
void MergeFrom(ReservoirConstraintProto other)
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > TimeExprs
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > LevelChanges
pbc::RepeatedField< int > ActiveLiterals
A set of linear expressions associated with the nodes.
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
The i-th element is the linear expression associated with the i-th node.
static pb::MessageParser< NodeExpressions > Parser
const int ExprsFieldNumber
Field number for the "exprs" field.
Container for nested types declared in the RoutesConstraintProto message type.
The "VRP" (Vehicle Routing Problem) constraint.
void WriteTo(pb::CodedOutputStream output)
static pbr::MessageDescriptor Descriptor
const int DemandsFieldNumber
Field number for the "demands" field.
void MergeFrom(RoutesConstraintProto other)
pbc::RepeatedField< int > Demands
const int LiteralsFieldNumber
Field number for the "literals" field.
override bool Equals(object other)
pbc::RepeatedField< int > Literals
pbc::RepeatedField< global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions > Dimensions
Expressions associated with the nodes of the graph, such as the load of the vehicle arriving at a nod...
A permutation of integers encoded as a list of cycles, hence the "sparse" format. The image of an ele...
static pb::MessageParser< SparsePermutationProto > Parser
override bool Equals(object other)
pbc::RepeatedField< int > Support
Each cycle is listed one after the other in the support field. The size of each cycle is given (in or...
const int SupportFieldNumber
Field number for the "support" field.
pbc::RepeatedField< int > CycleSizes
EXPERIMENTAL. For now, this is meant to be used by the solver and not filled by clients.
const int OrbitopesFieldNumber
Field number for the "orbitopes" field.
pbc::RepeatedField< global::Google.OrTools.Sat.SparsePermutationProto > Permutations
A list of variable indices permutations that leave the feasible space of solution invariant....
void WriteTo(pb::CodedOutputStream output)
override bool Equals(object other)
const int PermutationsFieldNumber
Field number for the "permutations" field.
void MergeFrom(SymmetryProto other)
pbc::RepeatedField< global::Google.OrTools.Sat.DenseMatrixProto > Orbitopes
An orbitope is a special symmetry structure of the solution space. If the variable indices are arrang...
The values of the n-tuple formed by the given expression can only be one of the listed n-tuples in va...
void WriteTo(pb::CodedOutputStream output)
pbc::RepeatedField< int > Vars
Legacy field.
bool Negated
If true, the meaning is "negated", that is we forbid any of the given tuple from a feasible assignmen...
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
const int NegatedFieldNumber
Field number for the "negated" field.
pbc::RepeatedField< long > Values
override bool Equals(object other)
static pbr::MessageDescriptor Descriptor
CpSolverStatus
The status returned by a solver trying to solve a CpModelProto.
@ Infeasible
The problem has been proven infeasible.
@ Unknown
The status of the model is still unknown. A search limit has been reached before any of the statuses ...
@ Feasible
A feasible solution has been found. But the search was stopped before we could prove optimality or be...
@ ModelInvalid
The given CpModelProto didn't pass the validation step. You can get a detailed error by calling Valid...