Google OR-Tools v9.14
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_;
1762 /// </summary>
1763 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1764 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1765 public global::Google.OrTools.Sat.LinearExpressionProto LinearIndex {
1766 get { return linearIndex_; }
1767 set {
1768 linearIndex_ = value;
1769 }
1770 }
1771
1773 public const int LinearTargetFieldNumber = 5;
1774 private global::Google.OrTools.Sat.LinearExpressionProto linearTarget_;
1775 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1776 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1777 public global::Google.OrTools.Sat.LinearExpressionProto LinearTarget {
1778 get { return linearTarget_; }
1779 set {
1780 linearTarget_ = value;
1781 }
1783
1785 public const int ExprsFieldNumber = 6;
1786 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
1787 = pb::FieldCodec.ForMessage(50, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
1788 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
1789 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1790 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1791 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
1792 get { return exprs_; }
1793 }
1795 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1796 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1797 public override bool Equals(object other) {
1798 return Equals(other as ElementConstraintProto);
1799 }
1801 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1802 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1803 public bool Equals(ElementConstraintProto other) {
1804 if (ReferenceEquals(other, null)) {
1805 return false;
1807 if (ReferenceEquals(other, this)) {
1808 return true;
1809 }
1810 if (Index != other.Index) return false;
1811 if (Target != other.Target) return false;
1812 if(!vars_.Equals(other.vars_)) return false;
1813 if (!object.Equals(LinearIndex, other.LinearIndex)) return false;
1814 if (!object.Equals(LinearTarget, other.LinearTarget)) return false;
1815 if(!exprs_.Equals(other.exprs_)) return false;
1816 return Equals(_unknownFields, other._unknownFields);
1817 }
1818
1819 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1820 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1821 public override int GetHashCode() {
1822 int hash = 1;
1823 if (Index != 0) hash ^= Index.GetHashCode();
1824 if (Target != 0) hash ^= Target.GetHashCode();
1825 hash ^= vars_.GetHashCode();
1826 if (linearIndex_ != null) hash ^= LinearIndex.GetHashCode();
1827 if (linearTarget_ != null) hash ^= LinearTarget.GetHashCode();
1828 hash ^= exprs_.GetHashCode();
1829 if (_unknownFields != null) {
1830 hash ^= _unknownFields.GetHashCode();
1831 }
1832 return hash;
1833 }
1834
1835 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1836 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1837 public override string ToString() {
1838 return pb::JsonFormatter.ToDiagnosticString(this);
1839 }
1840
1841 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1842 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1843 public void WriteTo(pb::CodedOutputStream output) {
1844 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1845 output.WriteRawMessage(this);
1846 #else
1847 if (Index != 0) {
1848 output.WriteRawTag(8);
1849 output.WriteInt32(Index);
1850 }
1851 if (Target != 0) {
1852 output.WriteRawTag(16);
1853 output.WriteInt32(Target);
1854 }
1855 vars_.WriteTo(output, _repeated_vars_codec);
1856 if (linearIndex_ != null) {
1857 output.WriteRawTag(34);
1858 output.WriteMessage(LinearIndex);
1859 }
1860 if (linearTarget_ != null) {
1861 output.WriteRawTag(42);
1862 output.WriteMessage(LinearTarget);
1863 }
1864 exprs_.WriteTo(output, _repeated_exprs_codec);
1865 if (_unknownFields != null) {
1866 _unknownFields.WriteTo(output);
1867 }
1868 #endif
1869 }
1870
1871 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1872 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1873 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1874 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1875 if (Index != 0) {
1876 output.WriteRawTag(8);
1877 output.WriteInt32(Index);
1878 }
1879 if (Target != 0) {
1880 output.WriteRawTag(16);
1881 output.WriteInt32(Target);
1882 }
1883 vars_.WriteTo(ref output, _repeated_vars_codec);
1884 if (linearIndex_ != null) {
1885 output.WriteRawTag(34);
1886 output.WriteMessage(LinearIndex);
1887 }
1888 if (linearTarget_ != null) {
1889 output.WriteRawTag(42);
1890 output.WriteMessage(LinearTarget);
1891 }
1892 exprs_.WriteTo(ref output, _repeated_exprs_codec);
1893 if (_unknownFields != null) {
1894 _unknownFields.WriteTo(ref output);
1895 }
1896 }
1897 #endif
1898
1899 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1900 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1901 public int CalculateSize() {
1902 int size = 0;
1903 if (Index != 0) {
1904 size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
1905 }
1906 if (Target != 0) {
1907 size += 1 + pb::CodedOutputStream.ComputeInt32Size(Target);
1908 }
1909 size += vars_.CalculateSize(_repeated_vars_codec);
1910 if (linearIndex_ != null) {
1911 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LinearIndex);
1912 }
1913 if (linearTarget_ != null) {
1914 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LinearTarget);
1915 }
1916 size += exprs_.CalculateSize(_repeated_exprs_codec);
1917 if (_unknownFields != null) {
1918 size += _unknownFields.CalculateSize();
1919 }
1920 return size;
1921 }
1922
1923 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1924 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1925 public void MergeFrom(ElementConstraintProto other) {
1926 if (other == null) {
1927 return;
1928 }
1929 if (other.Index != 0) {
1930 Index = other.Index;
1931 }
1932 if (other.Target != 0) {
1933 Target = other.Target;
1935 vars_.Add(other.vars_);
1936 if (other.linearIndex_ != null) {
1937 if (linearIndex_ == null) {
1938 LinearIndex = new global::Google.OrTools.Sat.LinearExpressionProto();
1939 }
1940 LinearIndex.MergeFrom(other.LinearIndex);
1941 }
1942 if (other.linearTarget_ != null) {
1943 if (linearTarget_ == null) {
1944 LinearTarget = new global::Google.OrTools.Sat.LinearExpressionProto();
1945 }
1946 LinearTarget.MergeFrom(other.LinearTarget);
1947 }
1948 exprs_.Add(other.exprs_);
1949 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1950 }
1951
1952 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1953 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1954 public void MergeFrom(pb::CodedInputStream input) {
1955 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1956 input.ReadRawMessage(this);
1957 #else
1958 uint tag;
1959 while ((tag = input.ReadTag()) != 0) {
1960 if ((tag & 7) == 4) {
1961 // Abort on any end group tag.
1962 return;
1964 switch(tag) {
1965 default:
1966 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1967 break;
1968 case 8: {
1969 Index = input.ReadInt32();
1970 break;
1971 }
1972 case 16: {
1973 Target = input.ReadInt32();
1974 break;
1975 }
1976 case 26:
1977 case 24: {
1978 vars_.AddEntriesFrom(input, _repeated_vars_codec);
1979 break;
1980 }
1981 case 34: {
1982 if (linearIndex_ == null) {
1983 LinearIndex = new global::Google.OrTools.Sat.LinearExpressionProto();
1984 }
1985 input.ReadMessage(LinearIndex);
1986 break;
1987 }
1988 case 42: {
1989 if (linearTarget_ == null) {
1990 LinearTarget = new global::Google.OrTools.Sat.LinearExpressionProto();
1991 }
1992 input.ReadMessage(LinearTarget);
1993 break;
1994 }
1995 case 50: {
1996 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
1997 break;
1998 }
1999 }
2000 }
2001 #endif
2002 }
2003
2004 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2005 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2006 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2007 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2008 uint tag;
2009 while ((tag = input.ReadTag()) != 0) {
2010 if ((tag & 7) == 4) {
2011 // Abort on any end group tag.
2012 return;
2013 }
2014 switch(tag) {
2015 default:
2016 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2017 break;
2018 case 8: {
2019 Index = input.ReadInt32();
2020 break;
2021 }
2022 case 16: {
2023 Target = input.ReadInt32();
2024 break;
2025 }
2026 case 26:
2027 case 24: {
2028 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
2029 break;
2030 }
2031 case 34: {
2032 if (linearIndex_ == null) {
2033 LinearIndex = new global::Google.OrTools.Sat.LinearExpressionProto();
2034 }
2035 input.ReadMessage(LinearIndex);
2036 break;
2037 }
2038 case 42: {
2039 if (linearTarget_ == null) {
2040 LinearTarget = new global::Google.OrTools.Sat.LinearExpressionProto();
2041 }
2042 input.ReadMessage(LinearTarget);
2043 break;
2044 }
2045 case 50: {
2046 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
2047 break;
2048 }
2049 }
2050 }
2051 }
2052 #endif
2053
2054 }
2055
2064
2069 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2070 public sealed partial class IntervalConstraintProto : pb::IMessage<IntervalConstraintProto>
2071 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2072 , pb::IBufferMessage
2073 #endif
2074 {
2075 private static readonly pb::MessageParser<IntervalConstraintProto> _parser = new pb::MessageParser<IntervalConstraintProto>(() => new IntervalConstraintProto());
2076 private pb::UnknownFieldSet _unknownFields;
2077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2079 public static pb::MessageParser<IntervalConstraintProto> Parser { get { return _parser; } }
2080
2081 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2082 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2083 public static pbr::MessageDescriptor Descriptor {
2084 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[7]; }
2085 }
2086
2087 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2088 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2089 pbr::MessageDescriptor pb::IMessage.Descriptor {
2090 get { return Descriptor; }
2091 }
2092
2093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2095 public IntervalConstraintProto() {
2096 OnConstruction();
2097 }
2098
2099 partial void OnConstruction();
2100
2101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2103 public IntervalConstraintProto(IntervalConstraintProto other) : this() {
2104 start_ = other.start_ != null ? other.start_.Clone() : null;
2105 end_ = other.end_ != null ? other.end_.Clone() : null;
2106 size_ = other.size_ != null ? other.size_.Clone() : null;
2107 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2108 }
2109
2110 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2111 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2112 public IntervalConstraintProto Clone() {
2113 return new IntervalConstraintProto(this);
2115
2117 public const int StartFieldNumber = 4;
2118 private global::Google.OrTools.Sat.LinearExpressionProto start_;
2119 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2120 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2121 public global::Google.OrTools.Sat.LinearExpressionProto Start {
2122 get { return start_; }
2123 set {
2124 start_ = value;
2125 }
2126 }
2127
2129 public const int EndFieldNumber = 5;
2130 private global::Google.OrTools.Sat.LinearExpressionProto end_;
2131 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2132 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2133 public global::Google.OrTools.Sat.LinearExpressionProto End {
2134 get { return end_; }
2135 set {
2136 end_ = value;
2137 }
2138 }
2139
2141 public const int SizeFieldNumber = 6;
2142 private global::Google.OrTools.Sat.LinearExpressionProto size_;
2143 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2144 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2145 public global::Google.OrTools.Sat.LinearExpressionProto Size {
2146 get { return size_; }
2147 set {
2148 size_ = value;
2149 }
2150 }
2151
2152 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2153 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2154 public override bool Equals(object other) {
2155 return Equals(other as IntervalConstraintProto);
2157
2158 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2159 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2160 public bool Equals(IntervalConstraintProto other) {
2161 if (ReferenceEquals(other, null)) {
2162 return false;
2163 }
2164 if (ReferenceEquals(other, this)) {
2165 return true;
2166 }
2167 if (!object.Equals(Start, other.Start)) return false;
2168 if (!object.Equals(End, other.End)) return false;
2169 if (!object.Equals(Size, other.Size)) return false;
2170 return Equals(_unknownFields, other._unknownFields);
2172
2173 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2174 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2175 public override int GetHashCode() {
2176 int hash = 1;
2177 if (start_ != null) hash ^= Start.GetHashCode();
2178 if (end_ != null) hash ^= End.GetHashCode();
2179 if (size_ != null) hash ^= Size.GetHashCode();
2180 if (_unknownFields != null) {
2181 hash ^= _unknownFields.GetHashCode();
2182 }
2183 return hash;
2184 }
2185
2186 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2187 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2188 public override string ToString() {
2189 return pb::JsonFormatter.ToDiagnosticString(this);
2190 }
2191
2192 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2193 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2194 public void WriteTo(pb::CodedOutputStream output) {
2195 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2196 output.WriteRawMessage(this);
2197 #else
2198 if (start_ != null) {
2199 output.WriteRawTag(34);
2200 output.WriteMessage(Start);
2201 }
2202 if (end_ != null) {
2203 output.WriteRawTag(42);
2204 output.WriteMessage(End);
2206 if (size_ != null) {
2207 output.WriteRawTag(50);
2208 output.WriteMessage(Size);
2209 }
2210 if (_unknownFields != null) {
2211 _unknownFields.WriteTo(output);
2212 }
2213 #endif
2214 }
2215
2216 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2217 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2218 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2219 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2220 if (start_ != null) {
2221 output.WriteRawTag(34);
2222 output.WriteMessage(Start);
2223 }
2224 if (end_ != null) {
2225 output.WriteRawTag(42);
2226 output.WriteMessage(End);
2227 }
2228 if (size_ != null) {
2229 output.WriteRawTag(50);
2230 output.WriteMessage(Size);
2231 }
2232 if (_unknownFields != null) {
2233 _unknownFields.WriteTo(ref output);
2234 }
2235 }
2236 #endif
2237
2238 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2239 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2240 public int CalculateSize() {
2241 int size = 0;
2242 if (start_ != null) {
2243 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Start);
2244 }
2245 if (end_ != null) {
2246 size += 1 + pb::CodedOutputStream.ComputeMessageSize(End);
2247 }
2248 if (size_ != null) {
2249 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Size);
2250 }
2251 if (_unknownFields != null) {
2252 size += _unknownFields.CalculateSize();
2253 }
2254 return size;
2255 }
2256
2257 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2258 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2259 public void MergeFrom(IntervalConstraintProto other) {
2260 if (other == null) {
2261 return;
2262 }
2263 if (other.start_ != null) {
2264 if (start_ == null) {
2265 Start = new global::Google.OrTools.Sat.LinearExpressionProto();
2266 }
2267 Start.MergeFrom(other.Start);
2268 }
2269 if (other.end_ != null) {
2270 if (end_ == null) {
2271 End = new global::Google.OrTools.Sat.LinearExpressionProto();
2272 }
2273 End.MergeFrom(other.End);
2274 }
2275 if (other.size_ != null) {
2276 if (size_ == null) {
2277 Size = new global::Google.OrTools.Sat.LinearExpressionProto();
2278 }
2279 Size.MergeFrom(other.Size);
2280 }
2281 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2282 }
2283
2284 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2285 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2286 public void MergeFrom(pb::CodedInputStream input) {
2287 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2288 input.ReadRawMessage(this);
2289 #else
2290 uint tag;
2291 while ((tag = input.ReadTag()) != 0) {
2292 if ((tag & 7) == 4) {
2293 // Abort on any end group tag.
2294 return;
2295 }
2296 switch(tag) {
2297 default:
2298 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2299 break;
2300 case 34: {
2301 if (start_ == null) {
2302 Start = new global::Google.OrTools.Sat.LinearExpressionProto();
2303 }
2304 input.ReadMessage(Start);
2305 break;
2306 }
2307 case 42: {
2308 if (end_ == null) {
2309 End = new global::Google.OrTools.Sat.LinearExpressionProto();
2310 }
2311 input.ReadMessage(End);
2312 break;
2313 }
2314 case 50: {
2315 if (size_ == null) {
2316 Size = new global::Google.OrTools.Sat.LinearExpressionProto();
2317 }
2318 input.ReadMessage(Size);
2319 break;
2320 }
2321 }
2322 }
2323 #endif
2324 }
2325
2326 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2327 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2328 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2329 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2330 uint tag;
2331 while ((tag = input.ReadTag()) != 0) {
2332 if ((tag & 7) == 4) {
2333 // Abort on any end group tag.
2334 return;
2335 }
2336 switch(tag) {
2337 default:
2338 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2339 break;
2340 case 34: {
2341 if (start_ == null) {
2342 Start = new global::Google.OrTools.Sat.LinearExpressionProto();
2343 }
2344 input.ReadMessage(Start);
2345 break;
2346 }
2347 case 42: {
2348 if (end_ == null) {
2349 End = new global::Google.OrTools.Sat.LinearExpressionProto();
2350 }
2351 input.ReadMessage(End);
2352 break;
2353 }
2354 case 50: {
2355 if (size_ == null) {
2356 Size = new global::Google.OrTools.Sat.LinearExpressionProto();
2357 }
2358 input.ReadMessage(Size);
2359 break;
2360 }
2361 }
2362 }
2363 }
2364 #endif
2365
2366 }
2367
2375 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2376 public sealed partial class NoOverlapConstraintProto : pb::IMessage<NoOverlapConstraintProto>
2377 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2378 , pb::IBufferMessage
2379 #endif
2380 {
2381 private static readonly pb::MessageParser<NoOverlapConstraintProto> _parser = new pb::MessageParser<NoOverlapConstraintProto>(() => new NoOverlapConstraintProto());
2382 private pb::UnknownFieldSet _unknownFields;
2383 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2384 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2385 public static pb::MessageParser<NoOverlapConstraintProto> Parser { get { return _parser; } }
2386
2387 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2388 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2389 public static pbr::MessageDescriptor Descriptor {
2390 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[8]; }
2391 }
2392
2393 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2394 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2395 pbr::MessageDescriptor pb::IMessage.Descriptor {
2396 get { return Descriptor; }
2397 }
2398
2399 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2400 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2401 public NoOverlapConstraintProto() {
2402 OnConstruction();
2403 }
2404
2405 partial void OnConstruction();
2406
2407 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2408 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2409 public NoOverlapConstraintProto(NoOverlapConstraintProto other) : this() {
2410 intervals_ = other.intervals_.Clone();
2411 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2413
2414 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2415 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2416 public NoOverlapConstraintProto Clone() {
2417 return new NoOverlapConstraintProto(this);
2418 }
2419
2420 /// <summary>Field number for the "intervals" field.</summary>
2421 public const int IntervalsFieldNumber = 1;
2422 private static readonly pb::FieldCodec<int> _repeated_intervals_codec
2423 = pb::FieldCodec.ForInt32(10);
2424 private readonly pbc::RepeatedField<int> intervals_ = new pbc::RepeatedField<int>();
2425 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2426 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2427 public pbc::RepeatedField<int> Intervals {
2428 get { return intervals_; }
2429 }
2430
2431 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2432 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2433 public override bool Equals(object other) {
2434 return Equals(other as NoOverlapConstraintProto);
2435 }
2436
2437 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2438 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2439 public bool Equals(NoOverlapConstraintProto other) {
2440 if (ReferenceEquals(other, null)) {
2441 return false;
2442 }
2443 if (ReferenceEquals(other, this)) {
2444 return true;
2445 }
2446 if(!intervals_.Equals(other.intervals_)) return false;
2447 return Equals(_unknownFields, other._unknownFields);
2448 }
2449
2450 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2451 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2452 public override int GetHashCode() {
2453 int hash = 1;
2454 hash ^= intervals_.GetHashCode();
2455 if (_unknownFields != null) {
2456 hash ^= _unknownFields.GetHashCode();
2457 }
2458 return hash;
2459 }
2460
2461 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2462 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2463 public override string ToString() {
2464 return pb::JsonFormatter.ToDiagnosticString(this);
2465 }
2466
2467 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2468 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2469 public void WriteTo(pb::CodedOutputStream output) {
2470 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2471 output.WriteRawMessage(this);
2472 #else
2473 intervals_.WriteTo(output, _repeated_intervals_codec);
2474 if (_unknownFields != null) {
2475 _unknownFields.WriteTo(output);
2476 }
2477 #endif
2478 }
2479
2480 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2481 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2482 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2483 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2484 intervals_.WriteTo(ref output, _repeated_intervals_codec);
2485 if (_unknownFields != null) {
2486 _unknownFields.WriteTo(ref output);
2487 }
2488 }
2489 #endif
2490
2491 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2492 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2493 public int CalculateSize() {
2494 int size = 0;
2495 size += intervals_.CalculateSize(_repeated_intervals_codec);
2496 if (_unknownFields != null) {
2497 size += _unknownFields.CalculateSize();
2498 }
2499 return size;
2500 }
2501
2502 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2503 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2505 if (other == null) {
2506 return;
2507 }
2508 intervals_.Add(other.intervals_);
2509 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2510 }
2511
2512 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2513 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2514 public void MergeFrom(pb::CodedInputStream input) {
2515 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2516 input.ReadRawMessage(this);
2517 #else
2518 uint tag;
2519 while ((tag = input.ReadTag()) != 0) {
2520 if ((tag & 7) == 4) {
2521 // Abort on any end group tag.
2522 return;
2523 }
2524 switch(tag) {
2525 default:
2526 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2527 break;
2528 case 10:
2529 case 8: {
2530 intervals_.AddEntriesFrom(input, _repeated_intervals_codec);
2531 break;
2532 }
2533 }
2534 }
2535 #endif
2536 }
2537
2538 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2539 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2540 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2541 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2542 uint tag;
2543 while ((tag = input.ReadTag()) != 0) {
2544 if ((tag & 7) == 4) {
2545 // Abort on any end group tag.
2546 return;
2547 }
2548 switch(tag) {
2549 default:
2550 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2551 break;
2552 case 10:
2553 case 8: {
2554 intervals_.AddEntriesFrom(ref input, _repeated_intervals_codec);
2555 break;
2556 }
2557 }
2558 }
2559 }
2560 #endif
2561
2562 }
2563
2574
2575 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2576 public sealed partial class NoOverlap2DConstraintProto : pb::IMessage<NoOverlap2DConstraintProto>
2577 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2578 , pb::IBufferMessage
2579 #endif
2580 {
2581 private static readonly pb::MessageParser<NoOverlap2DConstraintProto> _parser = new pb::MessageParser<NoOverlap2DConstraintProto>(() => new NoOverlap2DConstraintProto());
2582 private pb::UnknownFieldSet _unknownFields;
2583 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2584 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2585 public static pb::MessageParser<NoOverlap2DConstraintProto> Parser { get { return _parser; } }
2586
2587 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2588 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2589 public static pbr::MessageDescriptor Descriptor {
2590 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[9]; }
2591 }
2592
2593 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2594 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2595 pbr::MessageDescriptor pb::IMessage.Descriptor {
2596 get { return Descriptor; }
2598
2599 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2600 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2602 OnConstruction();
2603 }
2604
2605 partial void OnConstruction();
2606
2607 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2608 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2610 xIntervals_ = other.xIntervals_.Clone();
2611 yIntervals_ = other.yIntervals_.Clone();
2612 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2614
2615 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2616 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2617 public NoOverlap2DConstraintProto Clone() {
2618 return new NoOverlap2DConstraintProto(this);
2619 }
2620
2621 /// <summary>Field number for the "x_intervals" field.</summary>
2622 public const int XIntervalsFieldNumber = 1;
2623 private static readonly pb::FieldCodec<int> _repeated_xIntervals_codec
2624 = pb::FieldCodec.ForInt32(10);
2625 private readonly pbc::RepeatedField<int> xIntervals_ = new pbc::RepeatedField<int>();
2626 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2627 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2628 public pbc::RepeatedField<int> XIntervals {
2629 get { return xIntervals_; }
2630 }
2631
2632
2633 public const int YIntervalsFieldNumber = 2;
2634 private static readonly pb::FieldCodec<int> _repeated_yIntervals_codec
2635 = pb::FieldCodec.ForInt32(18);
2636 private readonly pbc::RepeatedField<int> yIntervals_ = new pbc::RepeatedField<int>();
2640 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2641 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2642 public pbc::RepeatedField<int> YIntervals {
2643 get { return yIntervals_; }
2644 }
2646 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2647 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2648 public override bool Equals(object other) {
2649 return Equals(other as NoOverlap2DConstraintProto);
2650 }
2651
2652 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2653 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2655 if (ReferenceEquals(other, null)) {
2656 return false;
2657 }
2658 if (ReferenceEquals(other, this)) {
2659 return true;
2661 if(!xIntervals_.Equals(other.xIntervals_)) return false;
2662 if(!yIntervals_.Equals(other.yIntervals_)) return false;
2663 return Equals(_unknownFields, other._unknownFields);
2664 }
2665
2666 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2667 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2668 public override int GetHashCode() {
2669 int hash = 1;
2670 hash ^= xIntervals_.GetHashCode();
2671 hash ^= yIntervals_.GetHashCode();
2672 if (_unknownFields != null) {
2673 hash ^= _unknownFields.GetHashCode();
2674 }
2675 return hash;
2676 }
2677
2678 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2679 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2680 public override string ToString() {
2681 return pb::JsonFormatter.ToDiagnosticString(this);
2682 }
2683
2684 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2685 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2686 public void WriteTo(pb::CodedOutputStream output) {
2687 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2688 output.WriteRawMessage(this);
2689 #else
2690 xIntervals_.WriteTo(output, _repeated_xIntervals_codec);
2691 yIntervals_.WriteTo(output, _repeated_yIntervals_codec);
2692 if (_unknownFields != null) {
2693 _unknownFields.WriteTo(output);
2694 }
2695 #endif
2696 }
2697
2698 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2701 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2702 xIntervals_.WriteTo(ref output, _repeated_xIntervals_codec);
2703 yIntervals_.WriteTo(ref output, _repeated_yIntervals_codec);
2704 if (_unknownFields != null) {
2705 _unknownFields.WriteTo(ref output);
2706 }
2707 }
2708 #endif
2709
2710 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2711 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2712 public int CalculateSize() {
2713 int size = 0;
2714 size += xIntervals_.CalculateSize(_repeated_xIntervals_codec);
2715 size += yIntervals_.CalculateSize(_repeated_yIntervals_codec);
2716 if (_unknownFields != null) {
2717 size += _unknownFields.CalculateSize();
2718 }
2719 return size;
2720 }
2721
2722 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2723 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2725 if (other == null) {
2726 return;
2727 }
2728 xIntervals_.Add(other.xIntervals_);
2729 yIntervals_.Add(other.yIntervals_);
2730 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2731 }
2732
2733 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2734 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2735 public void MergeFrom(pb::CodedInputStream input) {
2736 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2737 input.ReadRawMessage(this);
2738 #else
2739 uint tag;
2740 while ((tag = input.ReadTag()) != 0) {
2741 if ((tag & 7) == 4) {
2742 // Abort on any end group tag.
2743 return;
2744 }
2745 switch(tag) {
2746 default:
2747 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2748 break;
2749 case 10:
2750 case 8: {
2751 xIntervals_.AddEntriesFrom(input, _repeated_xIntervals_codec);
2752 break;
2753 }
2754 case 18:
2755 case 16: {
2756 yIntervals_.AddEntriesFrom(input, _repeated_yIntervals_codec);
2757 break;
2758 }
2759 }
2760 }
2761 #endif
2762 }
2763
2764 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2765 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2766 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2767 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2768 uint tag;
2769 while ((tag = input.ReadTag()) != 0) {
2770 if ((tag & 7) == 4) {
2771 // Abort on any end group tag.
2772 return;
2773 }
2774 switch(tag) {
2775 default:
2776 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2777 break;
2778 case 10:
2779 case 8: {
2780 xIntervals_.AddEntriesFrom(ref input, _repeated_xIntervals_codec);
2781 break;
2782 }
2783 case 18:
2784 case 16: {
2785 yIntervals_.AddEntriesFrom(ref input, _repeated_yIntervals_codec);
2786 break;
2787 }
2788 }
2789 }
2790 }
2791 #endif
2792
2793 }
2794
2806 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2807 public sealed partial class CumulativeConstraintProto : pb::IMessage<CumulativeConstraintProto>
2808 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2809 , pb::IBufferMessage
2810 #endif
2811 {
2812 private static readonly pb::MessageParser<CumulativeConstraintProto> _parser = new pb::MessageParser<CumulativeConstraintProto>(() => new CumulativeConstraintProto());
2813 private pb::UnknownFieldSet _unknownFields;
2814 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2815 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2816 public static pb::MessageParser<CumulativeConstraintProto> Parser { get { return _parser; } }
2817
2818 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2819 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2820 public static pbr::MessageDescriptor Descriptor {
2821 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[10]; }
2822 }
2823
2824 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2825 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2826 pbr::MessageDescriptor pb::IMessage.Descriptor {
2827 get { return Descriptor; }
2828 }
2830 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2831 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2832 public CumulativeConstraintProto() {
2833 OnConstruction();
2834 }
2835
2836 partial void OnConstruction();
2837
2838 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2839 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2841 capacity_ = other.capacity_ != null ? other.capacity_.Clone() : null;
2842 intervals_ = other.intervals_.Clone();
2843 demands_ = other.demands_.Clone();
2844 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2846
2847 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2848 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2849 public CumulativeConstraintProto Clone() {
2850 return new CumulativeConstraintProto(this);
2851 }
2852
2853 /// <summary>Field number for the "capacity" field.</summary>
2854 public const int CapacityFieldNumber = 1;
2855 private global::Google.OrTools.Sat.LinearExpressionProto capacity_;
2856 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2857 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2858 public global::Google.OrTools.Sat.LinearExpressionProto Capacity {
2859 get { return capacity_; }
2860 set {
2861 capacity_ = value;
2863 }
2864
2865
2866 public const int IntervalsFieldNumber = 2;
2867 private static readonly pb::FieldCodec<int> _repeated_intervals_codec
2868 = pb::FieldCodec.ForInt32(18);
2869 private readonly pbc::RepeatedField<int> intervals_ = new pbc::RepeatedField<int>();
2870 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2871 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2872 public pbc::RepeatedField<int> Intervals {
2873 get { return intervals_; }
2874 }
2875
2877 public const int DemandsFieldNumber = 3;
2878 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_demands_codec
2879 = pb::FieldCodec.ForMessage(26, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
2880 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> demands_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
2884 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2885 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2886 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Demands {
2887 get { return demands_; }
2888 }
2889
2890 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2891 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2892 public override bool Equals(object other) {
2893 return Equals(other as CumulativeConstraintProto);
2894 }
2895
2896 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2897 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2898 public bool Equals(CumulativeConstraintProto other) {
2899 if (ReferenceEquals(other, null)) {
2900 return false;
2901 }
2902 if (ReferenceEquals(other, this)) {
2903 return true;
2904 }
2905 if (!object.Equals(Capacity, other.Capacity)) return false;
2906 if(!intervals_.Equals(other.intervals_)) return false;
2907 if(!demands_.Equals(other.demands_)) return false;
2908 return Equals(_unknownFields, other._unknownFields);
2909 }
2910
2911 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2912 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2913 public override int GetHashCode() {
2914 int hash = 1;
2915 if (capacity_ != null) hash ^= Capacity.GetHashCode();
2916 hash ^= intervals_.GetHashCode();
2917 hash ^= demands_.GetHashCode();
2918 if (_unknownFields != null) {
2919 hash ^= _unknownFields.GetHashCode();
2920 }
2921 return hash;
2922 }
2923
2924 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2925 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2926 public override string ToString() {
2927 return pb::JsonFormatter.ToDiagnosticString(this);
2928 }
2929
2930 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2931 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2932 public void WriteTo(pb::CodedOutputStream output) {
2933 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2934 output.WriteRawMessage(this);
2935 #else
2936 if (capacity_ != null) {
2937 output.WriteRawTag(10);
2938 output.WriteMessage(Capacity);
2940 intervals_.WriteTo(output, _repeated_intervals_codec);
2941 demands_.WriteTo(output, _repeated_demands_codec);
2942 if (_unknownFields != null) {
2943 _unknownFields.WriteTo(output);
2944 }
2945 #endif
2946 }
2947
2948 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2949 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2950 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2951 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2952 if (capacity_ != null) {
2953 output.WriteRawTag(10);
2954 output.WriteMessage(Capacity);
2955 }
2956 intervals_.WriteTo(ref output, _repeated_intervals_codec);
2957 demands_.WriteTo(ref output, _repeated_demands_codec);
2958 if (_unknownFields != null) {
2959 _unknownFields.WriteTo(ref output);
2960 }
2961 }
2962 #endif
2963
2964 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2965 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2966 public int CalculateSize() {
2967 int size = 0;
2968 if (capacity_ != null) {
2969 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Capacity);
2970 }
2971 size += intervals_.CalculateSize(_repeated_intervals_codec);
2972 size += demands_.CalculateSize(_repeated_demands_codec);
2973 if (_unknownFields != null) {
2974 size += _unknownFields.CalculateSize();
2975 }
2976 return size;
2977 }
2978
2979 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2980 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2981 public void MergeFrom(CumulativeConstraintProto other) {
2982 if (other == null) {
2983 return;
2984 }
2985 if (other.capacity_ != null) {
2986 if (capacity_ == null) {
2987 Capacity = new global::Google.OrTools.Sat.LinearExpressionProto();
2988 }
2989 Capacity.MergeFrom(other.Capacity);
2990 }
2991 intervals_.Add(other.intervals_);
2992 demands_.Add(other.demands_);
2993 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2995
2996 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2997 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2998 public void MergeFrom(pb::CodedInputStream input) {
2999 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3000 input.ReadRawMessage(this);
3001 #else
3002 uint tag;
3003 while ((tag = input.ReadTag()) != 0) {
3004 if ((tag & 7) == 4) {
3005 // Abort on any end group tag.
3006 return;
3007 }
3008 switch(tag) {
3009 default:
3010 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3011 break;
3012 case 10: {
3013 if (capacity_ == null) {
3014 Capacity = new global::Google.OrTools.Sat.LinearExpressionProto();
3015 }
3016 input.ReadMessage(Capacity);
3017 break;
3018 }
3019 case 18:
3020 case 16: {
3021 intervals_.AddEntriesFrom(input, _repeated_intervals_codec);
3022 break;
3023 }
3024 case 26: {
3025 demands_.AddEntriesFrom(input, _repeated_demands_codec);
3026 break;
3027 }
3028 }
3029 }
3030 #endif
3031 }
3032
3033 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3034 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3035 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3036 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3037 uint tag;
3038 while ((tag = input.ReadTag()) != 0) {
3039 if ((tag & 7) == 4) {
3040 // Abort on any end group tag.
3041 return;
3042 }
3043 switch(tag) {
3044 default:
3045 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3046 break;
3047 case 10: {
3048 if (capacity_ == null) {
3049 Capacity = new global::Google.OrTools.Sat.LinearExpressionProto();
3050 }
3051 input.ReadMessage(Capacity);
3052 break;
3053 }
3054 case 18:
3055 case 16: {
3056 intervals_.AddEntriesFrom(ref input, _repeated_intervals_codec);
3057 break;
3058 }
3059 case 26: {
3060 demands_.AddEntriesFrom(ref input, _repeated_demands_codec);
3061 break;
3062 }
3063 }
3064 }
3065 }
3066 #endif
3067
3068 }
3069
3082
3088 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3089 public sealed partial class ReservoirConstraintProto : pb::IMessage<ReservoirConstraintProto>
3090 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3091 , pb::IBufferMessage
3092 #endif
3093 {
3094 private static readonly pb::MessageParser<ReservoirConstraintProto> _parser = new pb::MessageParser<ReservoirConstraintProto>(() => new ReservoirConstraintProto());
3095 private pb::UnknownFieldSet _unknownFields;
3096 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3097 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3098 public static pb::MessageParser<ReservoirConstraintProto> Parser { get { return _parser; } }
3099
3100 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3101 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3102 public static pbr::MessageDescriptor Descriptor {
3103 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[11]; }
3104 }
3105
3106 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3107 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3108 pbr::MessageDescriptor pb::IMessage.Descriptor {
3109 get { return Descriptor; }
3110 }
3111
3112 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3113 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3114 public ReservoirConstraintProto() {
3115 OnConstruction();
3116 }
3117
3118 partial void OnConstruction();
3120 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3121 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3122 public ReservoirConstraintProto(ReservoirConstraintProto other) : this() {
3123 minLevel_ = other.minLevel_;
3124 maxLevel_ = other.maxLevel_;
3125 timeExprs_ = other.timeExprs_.Clone();
3126 levelChanges_ = other.levelChanges_.Clone();
3127 activeLiterals_ = other.activeLiterals_.Clone();
3128 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3129 }
3130
3131 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3132 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3134 return new ReservoirConstraintProto(this);
3135 }
3136
3138 public const int MinLevelFieldNumber = 1;
3139 private long minLevel_;
3140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3142 public long MinLevel {
3143 get { return minLevel_; }
3144 set {
3145 minLevel_ = value;
3146 }
3147 }
3148
3150 public const int MaxLevelFieldNumber = 2;
3151 private long maxLevel_;
3152 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3153 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3154 public long MaxLevel {
3155 get { return maxLevel_; }
3156 set {
3157 maxLevel_ = value;
3158 }
3160
3162 public const int TimeExprsFieldNumber = 3;
3163 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_timeExprs_codec
3164 = pb::FieldCodec.ForMessage(26, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
3165 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> timeExprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
3169 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3170 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3171 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> TimeExprs {
3172 get { return timeExprs_; }
3173 }
3174
3176 public const int LevelChangesFieldNumber = 6;
3177 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_levelChanges_codec
3178 = pb::FieldCodec.ForMessage(50, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
3179 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> levelChanges_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
3183 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3184 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3185 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> LevelChanges {
3186 get { return levelChanges_; }
3187 }
3190 public const int ActiveLiteralsFieldNumber = 5;
3191 private static readonly pb::FieldCodec<int> _repeated_activeLiterals_codec
3192 = pb::FieldCodec.ForInt32(42);
3193 private readonly pbc::RepeatedField<int> activeLiterals_ = new pbc::RepeatedField<int>();
3194 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3195 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3196 public pbc::RepeatedField<int> ActiveLiterals {
3197 get { return activeLiterals_; }
3198 }
3199
3200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3202 public override bool Equals(object other) {
3203 return Equals(other as ReservoirConstraintProto);
3204 }
3205
3206 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3207 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3208 public bool Equals(ReservoirConstraintProto other) {
3209 if (ReferenceEquals(other, null)) {
3210 return false;
3211 }
3212 if (ReferenceEquals(other, this)) {
3213 return true;
3214 }
3215 if (MinLevel != other.MinLevel) return false;
3216 if (MaxLevel != other.MaxLevel) return false;
3217 if(!timeExprs_.Equals(other.timeExprs_)) return false;
3218 if(!levelChanges_.Equals(other.levelChanges_)) return false;
3219 if(!activeLiterals_.Equals(other.activeLiterals_)) return false;
3220 return Equals(_unknownFields, other._unknownFields);
3221 }
3222
3223 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3224 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3225 public override int GetHashCode() {
3226 int hash = 1;
3227 if (MinLevel != 0L) hash ^= MinLevel.GetHashCode();
3228 if (MaxLevel != 0L) hash ^= MaxLevel.GetHashCode();
3229 hash ^= timeExprs_.GetHashCode();
3230 hash ^= levelChanges_.GetHashCode();
3231 hash ^= activeLiterals_.GetHashCode();
3232 if (_unknownFields != null) {
3233 hash ^= _unknownFields.GetHashCode();
3234 }
3235 return hash;
3236 }
3237
3238 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3239 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3240 public override string ToString() {
3241 return pb::JsonFormatter.ToDiagnosticString(this);
3243
3244 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3245 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3246 public void WriteTo(pb::CodedOutputStream output) {
3247 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3248 output.WriteRawMessage(this);
3249 #else
3250 if (MinLevel != 0L) {
3251 output.WriteRawTag(8);
3252 output.WriteInt64(MinLevel);
3253 }
3254 if (MaxLevel != 0L) {
3255 output.WriteRawTag(16);
3256 output.WriteInt64(MaxLevel);
3258 timeExprs_.WriteTo(output, _repeated_timeExprs_codec);
3259 activeLiterals_.WriteTo(output, _repeated_activeLiterals_codec);
3260 levelChanges_.WriteTo(output, _repeated_levelChanges_codec);
3261 if (_unknownFields != null) {
3262 _unknownFields.WriteTo(output);
3264 #endif
3265 }
3266
3267 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3268 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3269 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3270 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3271 if (MinLevel != 0L) {
3272 output.WriteRawTag(8);
3273 output.WriteInt64(MinLevel);
3274 }
3275 if (MaxLevel != 0L) {
3276 output.WriteRawTag(16);
3277 output.WriteInt64(MaxLevel);
3278 }
3279 timeExprs_.WriteTo(ref output, _repeated_timeExprs_codec);
3280 activeLiterals_.WriteTo(ref output, _repeated_activeLiterals_codec);
3281 levelChanges_.WriteTo(ref output, _repeated_levelChanges_codec);
3282 if (_unknownFields != null) {
3283 _unknownFields.WriteTo(ref output);
3284 }
3285 }
3286 #endif
3287
3288 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3289 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3290 public int CalculateSize() {
3291 int size = 0;
3292 if (MinLevel != 0L) {
3293 size += 1 + pb::CodedOutputStream.ComputeInt64Size(MinLevel);
3294 }
3295 if (MaxLevel != 0L) {
3296 size += 1 + pb::CodedOutputStream.ComputeInt64Size(MaxLevel);
3297 }
3298 size += timeExprs_.CalculateSize(_repeated_timeExprs_codec);
3299 size += levelChanges_.CalculateSize(_repeated_levelChanges_codec);
3300 size += activeLiterals_.CalculateSize(_repeated_activeLiterals_codec);
3301 if (_unknownFields != null) {
3302 size += _unknownFields.CalculateSize();
3303 }
3304 return size;
3305 }
3306
3307 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3308 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3309 public void MergeFrom(ReservoirConstraintProto other) {
3310 if (other == null) {
3311 return;
3312 }
3313 if (other.MinLevel != 0L) {
3314 MinLevel = other.MinLevel;
3315 }
3316 if (other.MaxLevel != 0L) {
3317 MaxLevel = other.MaxLevel;
3318 }
3319 timeExprs_.Add(other.timeExprs_);
3320 levelChanges_.Add(other.levelChanges_);
3321 activeLiterals_.Add(other.activeLiterals_);
3322 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3323 }
3324
3325 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3326 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3327 public void MergeFrom(pb::CodedInputStream input) {
3328 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3329 input.ReadRawMessage(this);
3330 #else
3331 uint tag;
3332 while ((tag = input.ReadTag()) != 0) {
3333 if ((tag & 7) == 4) {
3334 // Abort on any end group tag.
3335 return;
3336 }
3337 switch(tag) {
3338 default:
3339 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3340 break;
3341 case 8: {
3342 MinLevel = input.ReadInt64();
3343 break;
3345 case 16: {
3346 MaxLevel = input.ReadInt64();
3347 break;
3348 }
3349 case 26: {
3350 timeExprs_.AddEntriesFrom(input, _repeated_timeExprs_codec);
3351 break;
3352 }
3353 case 42:
3354 case 40: {
3355 activeLiterals_.AddEntriesFrom(input, _repeated_activeLiterals_codec);
3356 break;
3357 }
3358 case 50: {
3359 levelChanges_.AddEntriesFrom(input, _repeated_levelChanges_codec);
3360 break;
3361 }
3362 }
3363 }
3364 #endif
3365 }
3366
3367 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3368 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3369 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3370 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3371 uint tag;
3372 while ((tag = input.ReadTag()) != 0) {
3373 if ((tag & 7) == 4) {
3374 // Abort on any end group tag.
3375 return;
3376 }
3377 switch(tag) {
3378 default:
3379 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3380 break;
3381 case 8: {
3382 MinLevel = input.ReadInt64();
3383 break;
3384 }
3385 case 16: {
3386 MaxLevel = input.ReadInt64();
3387 break;
3388 }
3389 case 26: {
3390 timeExprs_.AddEntriesFrom(ref input, _repeated_timeExprs_codec);
3391 break;
3392 }
3393 case 42:
3394 case 40: {
3395 activeLiterals_.AddEntriesFrom(ref input, _repeated_activeLiterals_codec);
3396 break;
3397 }
3398 case 50: {
3399 levelChanges_.AddEntriesFrom(ref input, _repeated_levelChanges_codec);
3400 break;
3401 }
3402 }
3403 }
3404 }
3405 #endif
3406
3407 }
3408
3420 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3421 public sealed partial class CircuitConstraintProto : pb::IMessage<CircuitConstraintProto>
3422 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3423 , pb::IBufferMessage
3424 #endif
3425 {
3426 private static readonly pb::MessageParser<CircuitConstraintProto> _parser = new pb::MessageParser<CircuitConstraintProto>(() => new CircuitConstraintProto());
3427 private pb::UnknownFieldSet _unknownFields;
3428 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3429 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3430 public static pb::MessageParser<CircuitConstraintProto> Parser { get { return _parser; } }
3431
3432 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3433 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3434 public static pbr::MessageDescriptor Descriptor {
3435 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[12]; }
3436 }
3437
3438 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3439 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3440 pbr::MessageDescriptor pb::IMessage.Descriptor {
3441 get { return Descriptor; }
3442 }
3443
3444 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3445 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3446 public CircuitConstraintProto() {
3447 OnConstruction();
3449
3450 partial void OnConstruction();
3451
3452 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3453 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3454 public CircuitConstraintProto(CircuitConstraintProto other) : this() {
3455 tails_ = other.tails_.Clone();
3456 heads_ = other.heads_.Clone();
3457 literals_ = other.literals_.Clone();
3458 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3459 }
3460
3461 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3462 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3463 public CircuitConstraintProto Clone() {
3464 return new CircuitConstraintProto(this);
3465 }
3466
3467
3468 public const int TailsFieldNumber = 3;
3469 private static readonly pb::FieldCodec<int> _repeated_tails_codec
3470 = pb::FieldCodec.ForInt32(26);
3471 private readonly pbc::RepeatedField<int> tails_ = new pbc::RepeatedField<int>();
3472 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3473 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3474 public pbc::RepeatedField<int> Tails {
3475 get { return tails_; }
3476 }
3477
3478
3479 public const int HeadsFieldNumber = 4;
3480 private static readonly pb::FieldCodec<int> _repeated_heads_codec
3481 = pb::FieldCodec.ForInt32(34);
3482 private readonly pbc::RepeatedField<int> heads_ = new pbc::RepeatedField<int>();
3483 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3484 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3485 public pbc::RepeatedField<int> Heads {
3486 get { return heads_; }
3487 }
3488
3490 public const int LiteralsFieldNumber = 5;
3491 private static readonly pb::FieldCodec<int> _repeated_literals_codec
3492 = pb::FieldCodec.ForInt32(42);
3493 private readonly pbc::RepeatedField<int> literals_ = new pbc::RepeatedField<int>();
3494 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3495 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3496 public pbc::RepeatedField<int> Literals {
3497 get { return literals_; }
3498 }
3499
3500 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3501 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3502 public override bool Equals(object other) {
3504 }
3505
3506 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3507 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3508 public bool Equals(CircuitConstraintProto other) {
3509 if (ReferenceEquals(other, null)) {
3510 return false;
3511 }
3512 if (ReferenceEquals(other, this)) {
3513 return true;
3515 if(!tails_.Equals(other.tails_)) return false;
3516 if(!heads_.Equals(other.heads_)) return false;
3517 if(!literals_.Equals(other.literals_)) return false;
3518 return Equals(_unknownFields, other._unknownFields);
3519 }
3521 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3522 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3523 public override int GetHashCode() {
3524 int hash = 1;
3525 hash ^= tails_.GetHashCode();
3526 hash ^= heads_.GetHashCode();
3527 hash ^= literals_.GetHashCode();
3528 if (_unknownFields != null) {
3529 hash ^= _unknownFields.GetHashCode();
3530 }
3531 return hash;
3532 }
3533
3534 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3535 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3536 public override string ToString() {
3537 return pb::JsonFormatter.ToDiagnosticString(this);
3538 }
3539
3540 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3541 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3542 public void WriteTo(pb::CodedOutputStream output) {
3543 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3544 output.WriteRawMessage(this);
3545 #else
3546 tails_.WriteTo(output, _repeated_tails_codec);
3547 heads_.WriteTo(output, _repeated_heads_codec);
3548 literals_.WriteTo(output, _repeated_literals_codec);
3549 if (_unknownFields != null) {
3550 _unknownFields.WriteTo(output);
3551 }
3552 #endif
3553 }
3555 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3556 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3557 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3558 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3559 tails_.WriteTo(ref output, _repeated_tails_codec);
3560 heads_.WriteTo(ref output, _repeated_heads_codec);
3561 literals_.WriteTo(ref output, _repeated_literals_codec);
3562 if (_unknownFields != null) {
3563 _unknownFields.WriteTo(ref output);
3564 }
3565 }
3566 #endif
3567
3568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3570 public int CalculateSize() {
3571 int size = 0;
3572 size += tails_.CalculateSize(_repeated_tails_codec);
3573 size += heads_.CalculateSize(_repeated_heads_codec);
3574 size += literals_.CalculateSize(_repeated_literals_codec);
3575 if (_unknownFields != null) {
3576 size += _unknownFields.CalculateSize();
3577 }
3578 return size;
3579 }
3580
3581 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3582 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3583 public void MergeFrom(CircuitConstraintProto other) {
3584 if (other == null) {
3585 return;
3586 }
3587 tails_.Add(other.tails_);
3588 heads_.Add(other.heads_);
3589 literals_.Add(other.literals_);
3590 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3591 }
3592
3593 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3594 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3595 public void MergeFrom(pb::CodedInputStream input) {
3596 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3597 input.ReadRawMessage(this);
3598 #else
3599 uint tag;
3600 while ((tag = input.ReadTag()) != 0) {
3601 if ((tag & 7) == 4) {
3602 // Abort on any end group tag.
3603 return;
3604 }
3605 switch(tag) {
3606 default:
3607 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3608 break;
3609 case 26:
3610 case 24: {
3611 tails_.AddEntriesFrom(input, _repeated_tails_codec);
3612 break;
3614 case 34:
3615 case 32: {
3616 heads_.AddEntriesFrom(input, _repeated_heads_codec);
3617 break;
3618 }
3619 case 42:
3620 case 40: {
3621 literals_.AddEntriesFrom(input, _repeated_literals_codec);
3622 break;
3623 }
3624 }
3625 }
3626 #endif
3627 }
3628
3629 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3630 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3631 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3632 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3633 uint tag;
3634 while ((tag = input.ReadTag()) != 0) {
3635 if ((tag & 7) == 4) {
3636 // Abort on any end group tag.
3637 return;
3638 }
3639 switch(tag) {
3640 default:
3641 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3642 break;
3643 case 26:
3644 case 24: {
3645 tails_.AddEntriesFrom(ref input, _repeated_tails_codec);
3646 break;
3647 }
3648 case 34:
3649 case 32: {
3650 heads_.AddEntriesFrom(ref input, _repeated_heads_codec);
3651 break;
3652 }
3653 case 42:
3654 case 40: {
3655 literals_.AddEntriesFrom(ref input, _repeated_literals_codec);
3656 break;
3657 }
3658 }
3659 }
3660 }
3661 #endif
3662
3663 }
3664
3682
3687 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3688 public sealed partial class RoutesConstraintProto : pb::IMessage<RoutesConstraintProto>
3689 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3690 , pb::IBufferMessage
3691 #endif
3692 {
3693 private static readonly pb::MessageParser<RoutesConstraintProto> _parser = new pb::MessageParser<RoutesConstraintProto>(() => new RoutesConstraintProto());
3694 private pb::UnknownFieldSet _unknownFields;
3695 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3696 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3697 public static pb::MessageParser<RoutesConstraintProto> Parser { get { return _parser; } }
3698
3699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3701 public static pbr::MessageDescriptor Descriptor {
3702 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[13]; }
3703 }
3704
3705 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3706 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3707 pbr::MessageDescriptor pb::IMessage.Descriptor {
3708 get { return Descriptor; }
3710
3711 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3712 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3713 public RoutesConstraintProto() {
3714 OnConstruction();
3715 }
3716
3717 partial void OnConstruction();
3719 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3720 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3721 public RoutesConstraintProto(RoutesConstraintProto other) : this() {
3722 tails_ = other.tails_.Clone();
3723 heads_ = other.heads_.Clone();
3724 literals_ = other.literals_.Clone();
3725 demands_ = other.demands_.Clone();
3726 capacity_ = other.capacity_;
3727 dimensions_ = other.dimensions_.Clone();
3728 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3729 }
3730
3731 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3732 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3733 public RoutesConstraintProto Clone() {
3734 return new RoutesConstraintProto(this);
3735 }
3736
3737
3738 public const int TailsFieldNumber = 1;
3739 private static readonly pb::FieldCodec<int> _repeated_tails_codec
3740 = pb::FieldCodec.ForInt32(10);
3741 private readonly pbc::RepeatedField<int> tails_ = new pbc::RepeatedField<int>();
3742 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3743 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3744 public pbc::RepeatedField<int> Tails {
3745 get { return tails_; }
3746 }
3747
3749 public const int HeadsFieldNumber = 2;
3750 private static readonly pb::FieldCodec<int> _repeated_heads_codec
3751 = pb::FieldCodec.ForInt32(18);
3752 private readonly pbc::RepeatedField<int> heads_ = new pbc::RepeatedField<int>();
3753 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3754 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3755 public pbc::RepeatedField<int> Heads {
3756 get { return heads_; }
3757 }
3758
3760 public const int LiteralsFieldNumber = 3;
3761 private static readonly pb::FieldCodec<int> _repeated_literals_codec
3762 = pb::FieldCodec.ForInt32(26);
3763 private readonly pbc::RepeatedField<int> literals_ = new pbc::RepeatedField<int>();
3764 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3765 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3766 public pbc::RepeatedField<int> Literals {
3767 get { return literals_; }
3768 }
3769
3771 public const int DemandsFieldNumber = 4;
3772 private static readonly pb::FieldCodec<int> _repeated_demands_codec
3773 = pb::FieldCodec.ForInt32(34);
3774 private readonly pbc::RepeatedField<int> demands_ = new pbc::RepeatedField<int>();
3776 /// DEPRECATED. These fields are no longer used. The solver ignores them.
3777 /// </summary>
3778 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3779 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3780 public pbc::RepeatedField<int> Demands {
3781 get { return demands_; }
3782 }
3783
3785 public const int CapacityFieldNumber = 5;
3786 private long capacity_;
3787 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3788 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3789 public long Capacity {
3790 get { return capacity_; }
3791 set {
3792 capacity_ = value;
3793 }
3794 }
3795
3797 public const int DimensionsFieldNumber = 6;
3798 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions> _repeated_dimensions_codec
3799 = pb::FieldCodec.ForMessage(50, global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions.Parser);
3800 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions> dimensions_ = new pbc::RepeatedField<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions>();
3801 /// <summary>
3802 /// Expressions associated with the nodes of the graph, such as the load of the
3803 /// vehicle arriving at a node, or the time at which a vehicle arrives at a
3804 /// node. Expressions with the same "dimension" (such as "load" or "time") must
3805 /// be listed together.
3806 /// This field is optional. If it is set, the linear constraints of size 1 or 2
3807 /// between the variables in these expressions will be used to derive cuts for
3808 /// this constraint. If it is not set, the solver will try to automatically
3809 /// derive it, from the linear constraints of size 1 or 2 in the model (this
3810 /// can fail in complex cases).
3811 /// </summary>
3812 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3813 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3814 public pbc::RepeatedField<global::Google.OrTools.Sat.RoutesConstraintProto.Types.NodeExpressions> Dimensions {
3815 get { return dimensions_; }
3816 }
3817
3818 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3819 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3820 public override bool Equals(object other) {
3821 return Equals(other as RoutesConstraintProto);
3822 }
3823
3824 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3825 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3826 public bool Equals(RoutesConstraintProto other) {
3827 if (ReferenceEquals(other, null)) {
3828 return false;
3829 }
3830 if (ReferenceEquals(other, this)) {
3831 return true;
3832 }
3833 if(!tails_.Equals(other.tails_)) return false;
3834 if(!heads_.Equals(other.heads_)) return false;
3835 if(!literals_.Equals(other.literals_)) return false;
3836 if(!demands_.Equals(other.demands_)) return false;
3837 if (Capacity != other.Capacity) return false;
3838 if(!dimensions_.Equals(other.dimensions_)) return false;
3839 return Equals(_unknownFields, other._unknownFields);
3840 }
3842 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3843 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3844 public override int GetHashCode() {
3845 int hash = 1;
3846 hash ^= tails_.GetHashCode();
3847 hash ^= heads_.GetHashCode();
3848 hash ^= literals_.GetHashCode();
3849 hash ^= demands_.GetHashCode();
3850 if (Capacity != 0L) hash ^= Capacity.GetHashCode();
3851 hash ^= dimensions_.GetHashCode();
3852 if (_unknownFields != null) {
3853 hash ^= _unknownFields.GetHashCode();
3854 }
3855 return hash;
3856 }
3857
3858 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3859 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3860 public override string ToString() {
3861 return pb::JsonFormatter.ToDiagnosticString(this);
3862 }
3863
3864 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3865 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3866 public void WriteTo(pb::CodedOutputStream output) {
3867 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3868 output.WriteRawMessage(this);
3869 #else
3870 tails_.WriteTo(output, _repeated_tails_codec);
3871 heads_.WriteTo(output, _repeated_heads_codec);
3872 literals_.WriteTo(output, _repeated_literals_codec);
3873 demands_.WriteTo(output, _repeated_demands_codec);
3874 if (Capacity != 0L) {
3875 output.WriteRawTag(40);
3876 output.WriteInt64(Capacity);
3877 }
3878 dimensions_.WriteTo(output, _repeated_dimensions_codec);
3879 if (_unknownFields != null) {
3880 _unknownFields.WriteTo(output);
3882 #endif
3883 }
3884
3885 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3886 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3887 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3888 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3889 tails_.WriteTo(ref output, _repeated_tails_codec);
3890 heads_.WriteTo(ref output, _repeated_heads_codec);
3891 literals_.WriteTo(ref output, _repeated_literals_codec);
3892 demands_.WriteTo(ref output, _repeated_demands_codec);
3893 if (Capacity != 0L) {
3894 output.WriteRawTag(40);
3895 output.WriteInt64(Capacity);
3896 }
3897 dimensions_.WriteTo(ref output, _repeated_dimensions_codec);
3898 if (_unknownFields != null) {
3899 _unknownFields.WriteTo(ref output);
3900 }
3901 }
3902 #endif
3903
3904 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3905 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3906 public int CalculateSize() {
3907 int size = 0;
3908 size += tails_.CalculateSize(_repeated_tails_codec);
3909 size += heads_.CalculateSize(_repeated_heads_codec);
3910 size += literals_.CalculateSize(_repeated_literals_codec);
3911 size += demands_.CalculateSize(_repeated_demands_codec);
3912 if (Capacity != 0L) {
3913 size += 1 + pb::CodedOutputStream.ComputeInt64Size(Capacity);
3914 }
3915 size += dimensions_.CalculateSize(_repeated_dimensions_codec);
3916 if (_unknownFields != null) {
3917 size += _unknownFields.CalculateSize();
3918 }
3919 return size;
3920 }
3921
3922 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3923 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3924 public void MergeFrom(RoutesConstraintProto other) {
3925 if (other == null) {
3926 return;
3928 tails_.Add(other.tails_);
3929 heads_.Add(other.heads_);
3930 literals_.Add(other.literals_);
3931 demands_.Add(other.demands_);
3932 if (other.Capacity != 0L) {
3933 Capacity = other.Capacity;
3934 }
3935 dimensions_.Add(other.dimensions_);
3936 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3937 }
3938
3939 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3940 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3941 public void MergeFrom(pb::CodedInputStream input) {
3942 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3943 input.ReadRawMessage(this);
3944 #else
3945 uint tag;
3946 while ((tag = input.ReadTag()) != 0) {
3947 if ((tag & 7) == 4) {
3948 // Abort on any end group tag.
3949 return;
3950 }
3951 switch(tag) {
3952 default:
3953 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3954 break;
3955 case 10:
3956 case 8: {
3957 tails_.AddEntriesFrom(input, _repeated_tails_codec);
3958 break;
3959 }
3960 case 18:
3961 case 16: {
3962 heads_.AddEntriesFrom(input, _repeated_heads_codec);
3963 break;
3964 }
3965 case 26:
3966 case 24: {
3967 literals_.AddEntriesFrom(input, _repeated_literals_codec);
3968 break;
3969 }
3970 case 34:
3971 case 32: {
3972 demands_.AddEntriesFrom(input, _repeated_demands_codec);
3973 break;
3974 }
3975 case 40: {
3976 Capacity = input.ReadInt64();
3977 break;
3978 }
3979 case 50: {
3980 dimensions_.AddEntriesFrom(input, _repeated_dimensions_codec);
3981 break;
3982 }
3983 }
3984 }
3985 #endif
3986 }
3987
3988 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3989 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3990 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3991 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3992 uint tag;
3993 while ((tag = input.ReadTag()) != 0) {
3994 if ((tag & 7) == 4) {
3995 // Abort on any end group tag.
3996 return;
3997 }
3998 switch(tag) {
3999 default:
4000 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4001 break;
4002 case 10:
4003 case 8: {
4004 tails_.AddEntriesFrom(ref input, _repeated_tails_codec);
4005 break;
4006 }
4007 case 18:
4008 case 16: {
4009 heads_.AddEntriesFrom(ref input, _repeated_heads_codec);
4010 break;
4011 }
4012 case 26:
4013 case 24: {
4014 literals_.AddEntriesFrom(ref input, _repeated_literals_codec);
4015 break;
4016 }
4017 case 34:
4018 case 32: {
4019 demands_.AddEntriesFrom(ref input, _repeated_demands_codec);
4020 break;
4021 }
4022 case 40: {
4023 Capacity = input.ReadInt64();
4024 break;
4025 }
4026 case 50: {
4027 dimensions_.AddEntriesFrom(ref input, _repeated_dimensions_codec);
4028 break;
4029 }
4030 }
4031 }
4032 }
4033 #endif
4034
4035 #region Nested types
4037 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4038 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4039 public static partial class Types {
4043 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4044 public sealed partial class NodeExpressions : pb::IMessage<NodeExpressions>
4045 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4046 , pb::IBufferMessage
4047 #endif
4048 {
4049 private static readonly pb::MessageParser<NodeExpressions> _parser = new pb::MessageParser<NodeExpressions>(() => new NodeExpressions());
4050 private pb::UnknownFieldSet _unknownFields;
4051 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4052 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4053 public static pb::MessageParser<NodeExpressions> Parser { get { return _parser; } }
4054
4055 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4056 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4057 public static pbr::MessageDescriptor Descriptor {
4058 get { return global::Google.OrTools.Sat.RoutesConstraintProto.Descriptor.NestedTypes[0]; }
4059 }
4061 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4062 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4063 pbr::MessageDescriptor pb::IMessage.Descriptor {
4064 get { return Descriptor; }
4066
4067 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4068 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4069 public NodeExpressions() {
4070 OnConstruction();
4071 }
4072
4073 partial void OnConstruction();
4075 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4076 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4077 public NodeExpressions(NodeExpressions other) : this() {
4078 exprs_ = other.exprs_.Clone();
4079 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4080 }
4081
4082 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4083 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4084 public NodeExpressions Clone() {
4085 return new NodeExpressions(this);
4086 }
4087
4089 public const int ExprsFieldNumber = 1;
4090 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
4091 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
4092 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
4093
4097 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4098 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4099 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
4100 get { return exprs_; }
4101 }
4102
4103 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4104 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4105 public override bool Equals(object other) {
4106 return Equals(other as NodeExpressions);
4107 }
4108
4109 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4110 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4111 public bool Equals(NodeExpressions other) {
4112 if (ReferenceEquals(other, null)) {
4113 return false;
4114 }
4115 if (ReferenceEquals(other, this)) {
4116 return true;
4117 }
4118 if(!exprs_.Equals(other.exprs_)) return false;
4119 return Equals(_unknownFields, other._unknownFields);
4121
4122 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4123 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4124 public override int GetHashCode() {
4125 int hash = 1;
4126 hash ^= exprs_.GetHashCode();
4127 if (_unknownFields != null) {
4128 hash ^= _unknownFields.GetHashCode();
4129 }
4130 return hash;
4131 }
4133 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4134 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4135 public override string ToString() {
4136 return pb::JsonFormatter.ToDiagnosticString(this);
4137 }
4138
4139 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4140 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4141 public void WriteTo(pb::CodedOutputStream output) {
4142 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4143 output.WriteRawMessage(this);
4144 #else
4145 exprs_.WriteTo(output, _repeated_exprs_codec);
4146 if (_unknownFields != null) {
4147 _unknownFields.WriteTo(output);
4148 }
4149 #endif
4150 }
4151
4152 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4153 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4154 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4155 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4156 exprs_.WriteTo(ref output, _repeated_exprs_codec);
4157 if (_unknownFields != null) {
4158 _unknownFields.WriteTo(ref output);
4159 }
4160 }
4161 #endif
4163 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4164 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4165 public int CalculateSize() {
4166 int size = 0;
4167 size += exprs_.CalculateSize(_repeated_exprs_codec);
4168 if (_unknownFields != null) {
4169 size += _unknownFields.CalculateSize();
4170 }
4171 return size;
4172 }
4173
4174 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4175 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4176 public void MergeFrom(NodeExpressions other) {
4177 if (other == null) {
4178 return;
4179 }
4180 exprs_.Add(other.exprs_);
4181 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4182 }
4183
4184 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4185 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4186 public void MergeFrom(pb::CodedInputStream input) {
4187 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4188 input.ReadRawMessage(this);
4189 #else
4190 uint tag;
4191 while ((tag = input.ReadTag()) != 0) {
4192 if ((tag & 7) == 4) {
4193 // Abort on any end group tag.
4194 return;
4195 }
4196 switch(tag) {
4197 default:
4198 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4199 break;
4200 case 10: {
4201 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
4202 break;
4203 }
4204 }
4205 }
4206 #endif
4208
4209 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4210 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4211 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4212 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4213 uint tag;
4214 while ((tag = input.ReadTag()) != 0) {
4215 if ((tag & 7) == 4) {
4216 // Abort on any end group tag.
4217 return;
4218 }
4219 switch(tag) {
4220 default:
4221 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4222 break;
4223 case 10: {
4224 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
4225 break;
4226 }
4227 }
4228 }
4229 }
4230 #endif
4231
4232 }
4233
4234 }
4235 #endregion
4236
4237 }
4238
4252 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4253 public sealed partial class TableConstraintProto : pb::IMessage<TableConstraintProto>
4254 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4255 , pb::IBufferMessage
4256 #endif
4257 {
4258 private static readonly pb::MessageParser<TableConstraintProto> _parser = new pb::MessageParser<TableConstraintProto>(() => new TableConstraintProto());
4259 private pb::UnknownFieldSet _unknownFields;
4260 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4261 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4262 public static pb::MessageParser<TableConstraintProto> Parser { get { return _parser; } }
4263
4264 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4265 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4266 public static pbr::MessageDescriptor Descriptor {
4267 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[14]; }
4268 }
4269
4270 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4271 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4272 pbr::MessageDescriptor pb::IMessage.Descriptor {
4273 get { return Descriptor; }
4275
4276 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4277 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4278 public TableConstraintProto() {
4279 OnConstruction();
4280 }
4281
4282 partial void OnConstruction();
4284 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4285 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4286 public TableConstraintProto(TableConstraintProto other) : this() {
4287 vars_ = other.vars_.Clone();
4288 values_ = other.values_.Clone();
4289 exprs_ = other.exprs_.Clone();
4290 negated_ = other.negated_;
4291 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4292 }
4293
4294 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4295 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4296 public TableConstraintProto Clone() {
4297 return new TableConstraintProto(this);
4298 }
4301 public const int VarsFieldNumber = 1;
4302 private static readonly pb::FieldCodec<int> _repeated_vars_codec
4303 = pb::FieldCodec.ForInt32(10);
4304 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
4307 /// </summary>
4308 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4309 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4310 public pbc::RepeatedField<int> Vars {
4311 get { return vars_; }
4312 }
4313
4314
4315 public const int ValuesFieldNumber = 2;
4316 private static readonly pb::FieldCodec<long> _repeated_values_codec
4317 = pb::FieldCodec.ForInt64(18);
4318 private readonly pbc::RepeatedField<long> values_ = new pbc::RepeatedField<long>();
4319 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4320 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4321 public pbc::RepeatedField<long> Values {
4322 get { return values_; }
4323 }
4324
4326 public const int ExprsFieldNumber = 4;
4327 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
4328 = pb::FieldCodec.ForMessage(34, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
4329 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
4330 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4331 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4332 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
4333 get { return exprs_; }
4334 }
4335
4337 public const int NegatedFieldNumber = 3;
4338 private bool negated_;
4342 /// </summary>
4343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4345 public bool Negated {
4346 get { return negated_; }
4347 set {
4348 negated_ = value;
4349 }
4350 }
4351
4352 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4353 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4354 public override bool Equals(object other) {
4355 return Equals(other as TableConstraintProto);
4356 }
4357
4358 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4359 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4360 public bool Equals(TableConstraintProto other) {
4361 if (ReferenceEquals(other, null)) {
4362 return false;
4363 }
4364 if (ReferenceEquals(other, this)) {
4365 return true;
4367 if(!vars_.Equals(other.vars_)) return false;
4368 if(!values_.Equals(other.values_)) return false;
4369 if(!exprs_.Equals(other.exprs_)) return false;
4370 if (Negated != other.Negated) return false;
4371 return Equals(_unknownFields, other._unknownFields);
4372 }
4373
4374 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4375 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4376 public override int GetHashCode() {
4377 int hash = 1;
4378 hash ^= vars_.GetHashCode();
4379 hash ^= values_.GetHashCode();
4380 hash ^= exprs_.GetHashCode();
4381 if (Negated != false) hash ^= Negated.GetHashCode();
4382 if (_unknownFields != null) {
4383 hash ^= _unknownFields.GetHashCode();
4384 }
4385 return hash;
4386 }
4387
4388 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4389 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4390 public override string ToString() {
4391 return pb::JsonFormatter.ToDiagnosticString(this);
4392 }
4393
4394 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4395 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4396 public void WriteTo(pb::CodedOutputStream output) {
4397 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4398 output.WriteRawMessage(this);
4399 #else
4400 vars_.WriteTo(output, _repeated_vars_codec);
4401 values_.WriteTo(output, _repeated_values_codec);
4402 if (Negated != false) {
4403 output.WriteRawTag(24);
4404 output.WriteBool(Negated);
4405 }
4406 exprs_.WriteTo(output, _repeated_exprs_codec);
4407 if (_unknownFields != null) {
4408 _unknownFields.WriteTo(output);
4409 }
4410 #endif
4412
4413 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4414 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4415 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4416 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4417 vars_.WriteTo(ref output, _repeated_vars_codec);
4418 values_.WriteTo(ref output, _repeated_values_codec);
4419 if (Negated != false) {
4420 output.WriteRawTag(24);
4421 output.WriteBool(Negated);
4422 }
4423 exprs_.WriteTo(ref output, _repeated_exprs_codec);
4424 if (_unknownFields != null) {
4425 _unknownFields.WriteTo(ref output);
4426 }
4427 }
4428 #endif
4429
4430 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4431 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4432 public int CalculateSize() {
4433 int size = 0;
4434 size += vars_.CalculateSize(_repeated_vars_codec);
4435 size += values_.CalculateSize(_repeated_values_codec);
4436 size += exprs_.CalculateSize(_repeated_exprs_codec);
4437 if (Negated != false) {
4438 size += 1 + 1;
4439 }
4440 if (_unknownFields != null) {
4441 size += _unknownFields.CalculateSize();
4442 }
4443 return size;
4444 }
4445
4446 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4447 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4448 public void MergeFrom(TableConstraintProto other) {
4449 if (other == null) {
4450 return;
4451 }
4452 vars_.Add(other.vars_);
4453 values_.Add(other.values_);
4454 exprs_.Add(other.exprs_);
4455 if (other.Negated != false) {
4456 Negated = other.Negated;
4457 }
4458 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4459 }
4460
4461 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4462 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4463 public void MergeFrom(pb::CodedInputStream input) {
4464 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4465 input.ReadRawMessage(this);
4466 #else
4467 uint tag;
4468 while ((tag = input.ReadTag()) != 0) {
4469 if ((tag & 7) == 4) {
4470 // Abort on any end group tag.
4471 return;
4472 }
4473 switch(tag) {
4474 default:
4475 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4476 break;
4477 case 10:
4478 case 8: {
4479 vars_.AddEntriesFrom(input, _repeated_vars_codec);
4480 break;
4481 }
4482 case 18:
4483 case 16: {
4484 values_.AddEntriesFrom(input, _repeated_values_codec);
4485 break;
4486 }
4487 case 24: {
4488 Negated = input.ReadBool();
4489 break;
4490 }
4491 case 34: {
4492 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
4493 break;
4494 }
4495 }
4496 }
4497 #endif
4498 }
4499
4500 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4501 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4502 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4503 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4504 uint tag;
4505 while ((tag = input.ReadTag()) != 0) {
4506 if ((tag & 7) == 4) {
4507 // Abort on any end group tag.
4508 return;
4509 }
4510 switch(tag) {
4511 default:
4512 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4513 break;
4514 case 10:
4515 case 8: {
4516 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
4517 break;
4518 }
4519 case 18:
4520 case 16: {
4521 values_.AddEntriesFrom(ref input, _repeated_values_codec);
4522 break;
4523 }
4524 case 24: {
4525 Negated = input.ReadBool();
4526 break;
4527 }
4528 case 34: {
4529 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
4530 break;
4531 }
4532 }
4533 }
4534 }
4535 #endif
4536
4537 }
4538
4543 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4544 public sealed partial class InverseConstraintProto : pb::IMessage<InverseConstraintProto>
4545 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4546 , pb::IBufferMessage
4547 #endif
4548 {
4549 private static readonly pb::MessageParser<InverseConstraintProto> _parser = new pb::MessageParser<InverseConstraintProto>(() => new InverseConstraintProto());
4550 private pb::UnknownFieldSet _unknownFields;
4551 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4552 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4553 public static pb::MessageParser<InverseConstraintProto> Parser { get { return _parser; } }
4554
4555 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4556 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4557 public static pbr::MessageDescriptor Descriptor {
4558 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[15]; }
4559 }
4560
4561 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4562 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4563 pbr::MessageDescriptor pb::IMessage.Descriptor {
4564 get { return Descriptor; }
4566
4567 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4568 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4569 public InverseConstraintProto() {
4570 OnConstruction();
4571 }
4572
4573 partial void OnConstruction();
4575 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4576 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4577 public InverseConstraintProto(InverseConstraintProto other) : this() {
4578 fDirect_ = other.fDirect_.Clone();
4579 fInverse_ = other.fInverse_.Clone();
4580 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4581 }
4582
4583 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4584 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4585 public InverseConstraintProto Clone() {
4586 return new InverseConstraintProto(this);
4587 }
4588
4590 public const int FDirectFieldNumber = 1;
4591 private static readonly pb::FieldCodec<int> _repeated_fDirect_codec
4592 = pb::FieldCodec.ForInt32(10);
4593 private readonly pbc::RepeatedField<int> fDirect_ = new pbc::RepeatedField<int>();
4594 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4595 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4596 public pbc::RepeatedField<int> FDirect {
4597 get { return fDirect_; }
4599
4601 public const int FInverseFieldNumber = 2;
4602 private static readonly pb::FieldCodec<int> _repeated_fInverse_codec
4603 = pb::FieldCodec.ForInt32(18);
4604 private readonly pbc::RepeatedField<int> fInverse_ = new pbc::RepeatedField<int>();
4605 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4606 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4607 public pbc::RepeatedField<int> FInverse {
4608 get { return fInverse_; }
4609 }
4610
4611 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4612 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4613 public override bool Equals(object other) {
4614 return Equals(other as InverseConstraintProto);
4615 }
4616
4617 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4618 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4619 public bool Equals(InverseConstraintProto other) {
4620 if (ReferenceEquals(other, null)) {
4621 return false;
4623 if (ReferenceEquals(other, this)) {
4624 return true;
4625 }
4626 if(!fDirect_.Equals(other.fDirect_)) return false;
4627 if(!fInverse_.Equals(other.fInverse_)) return false;
4628 return Equals(_unknownFields, other._unknownFields);
4629 }
4630
4631 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4632 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4633 public override int GetHashCode() {
4634 int hash = 1;
4635 hash ^= fDirect_.GetHashCode();
4636 hash ^= fInverse_.GetHashCode();
4637 if (_unknownFields != null) {
4638 hash ^= _unknownFields.GetHashCode();
4639 }
4640 return hash;
4641 }
4642
4643 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4644 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4645 public override string ToString() {
4646 return pb::JsonFormatter.ToDiagnosticString(this);
4647 }
4648
4649 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4650 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4651 public void WriteTo(pb::CodedOutputStream output) {
4652 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4653 output.WriteRawMessage(this);
4654 #else
4655 fDirect_.WriteTo(output, _repeated_fDirect_codec);
4656 fInverse_.WriteTo(output, _repeated_fInverse_codec);
4657 if (_unknownFields != null) {
4658 _unknownFields.WriteTo(output);
4659 }
4660 #endif
4661 }
4662
4663 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4664 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4665 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4666 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4667 fDirect_.WriteTo(ref output, _repeated_fDirect_codec);
4668 fInverse_.WriteTo(ref output, _repeated_fInverse_codec);
4669 if (_unknownFields != null) {
4670 _unknownFields.WriteTo(ref output);
4671 }
4673 #endif
4674
4675 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4676 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4677 public int CalculateSize() {
4678 int size = 0;
4679 size += fDirect_.CalculateSize(_repeated_fDirect_codec);
4680 size += fInverse_.CalculateSize(_repeated_fInverse_codec);
4681 if (_unknownFields != null) {
4682 size += _unknownFields.CalculateSize();
4683 }
4684 return size;
4685 }
4686
4687 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4688 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4689 public void MergeFrom(InverseConstraintProto other) {
4690 if (other == null) {
4691 return;
4692 }
4693 fDirect_.Add(other.fDirect_);
4694 fInverse_.Add(other.fInverse_);
4695 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4696 }
4697
4698 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4699 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4700 public void MergeFrom(pb::CodedInputStream input) {
4701 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4702 input.ReadRawMessage(this);
4703 #else
4704 uint tag;
4705 while ((tag = input.ReadTag()) != 0) {
4706 if ((tag & 7) == 4) {
4707 // Abort on any end group tag.
4708 return;
4709 }
4710 switch(tag) {
4711 default:
4712 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4713 break;
4714 case 10:
4715 case 8: {
4716 fDirect_.AddEntriesFrom(input, _repeated_fDirect_codec);
4717 break;
4718 }
4719 case 18:
4720 case 16: {
4721 fInverse_.AddEntriesFrom(input, _repeated_fInverse_codec);
4722 break;
4723 }
4724 }
4725 }
4726 #endif
4727 }
4728
4729 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4730 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4731 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4732 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4733 uint tag;
4734 while ((tag = input.ReadTag()) != 0) {
4735 if ((tag & 7) == 4) {
4736 // Abort on any end group tag.
4737 return;
4738 }
4739 switch(tag) {
4740 default:
4741 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4742 break;
4743 case 10:
4744 case 8: {
4745 fDirect_.AddEntriesFrom(ref input, _repeated_fDirect_codec);
4746 break;
4747 }
4748 case 18:
4749 case 16: {
4750 fInverse_.AddEntriesFrom(ref input, _repeated_fInverse_codec);
4751 break;
4752 }
4753 }
4754 }
4755 }
4756 #endif
4757
4758 }
4759
4764 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4765 public sealed partial class AutomatonConstraintProto : pb::IMessage<AutomatonConstraintProto>
4766 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4767 , pb::IBufferMessage
4768 #endif
4769 {
4770 private static readonly pb::MessageParser<AutomatonConstraintProto> _parser = new pb::MessageParser<AutomatonConstraintProto>(() => new AutomatonConstraintProto());
4771 private pb::UnknownFieldSet _unknownFields;
4772 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4773 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4774 public static pb::MessageParser<AutomatonConstraintProto> Parser { get { return _parser; } }
4775
4776 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4777 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4778 public static pbr::MessageDescriptor Descriptor {
4779 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[16]; }
4780 }
4781
4782 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4783 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4784 pbr::MessageDescriptor pb::IMessage.Descriptor {
4785 get { return Descriptor; }
4787
4788 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4789 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4790 public AutomatonConstraintProto() {
4791 OnConstruction();
4792 }
4793
4794 partial void OnConstruction();
4796 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4797 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4798 public AutomatonConstraintProto(AutomatonConstraintProto other) : this() {
4799 startingState_ = other.startingState_;
4800 finalStates_ = other.finalStates_.Clone();
4801 transitionTail_ = other.transitionTail_.Clone();
4802 transitionHead_ = other.transitionHead_.Clone();
4803 transitionLabel_ = other.transitionLabel_.Clone();
4804 vars_ = other.vars_.Clone();
4805 exprs_ = other.exprs_.Clone();
4806 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4807 }
4808
4809 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4810 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4812 return new AutomatonConstraintProto(this);
4813 }
4814
4816 public const int StartingStateFieldNumber = 2;
4817 private long startingState_;
4819 /// A state is identified by a non-negative number. It is preferable to keep
4820 /// all the states dense in says [0, num_states). The automaton starts at
4821 /// starting_state and must finish in any of the final states.
4822 /// </summary>
4823 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4824 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4825 public long StartingState {
4826 get { return startingState_; }
4827 set {
4828 startingState_ = value;
4829 }
4830 }
4831
4832 /// <summary>Field number for the "final_states" field.</summary>
4833 public const int FinalStatesFieldNumber = 3;
4834 private static readonly pb::FieldCodec<long> _repeated_finalStates_codec
4835 = pb::FieldCodec.ForInt64(26);
4836 private readonly pbc::RepeatedField<long> finalStates_ = new pbc::RepeatedField<long>();
4837 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4838 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4839 public pbc::RepeatedField<long> FinalStates {
4840 get { return finalStates_; }
4841 }
4842
4844 public const int TransitionTailFieldNumber = 4;
4845 private static readonly pb::FieldCodec<long> _repeated_transitionTail_codec
4846 = pb::FieldCodec.ForInt64(34);
4847 private readonly pbc::RepeatedField<long> transitionTail_ = new pbc::RepeatedField<long>();
4852
4853 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4854 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4855 public pbc::RepeatedField<long> TransitionTail {
4856 get { return transitionTail_; }
4857 }
4858
4860 public const int TransitionHeadFieldNumber = 5;
4861 private static readonly pb::FieldCodec<long> _repeated_transitionHead_codec
4862 = pb::FieldCodec.ForInt64(42);
4863 private readonly pbc::RepeatedField<long> transitionHead_ = new pbc::RepeatedField<long>();
4864 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4865 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4866 public pbc::RepeatedField<long> TransitionHead {
4867 get { return transitionHead_; }
4868 }
4869
4871 public const int TransitionLabelFieldNumber = 6;
4872 private static readonly pb::FieldCodec<long> _repeated_transitionLabel_codec
4873 = pb::FieldCodec.ForInt64(50);
4874 private readonly pbc::RepeatedField<long> transitionLabel_ = new pbc::RepeatedField<long>();
4875 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4876 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4877 public pbc::RepeatedField<long> TransitionLabel {
4878 get { return transitionLabel_; }
4879 }
4880
4882 public const int VarsFieldNumber = 7;
4883 private static readonly pb::FieldCodec<int> _repeated_vars_codec
4884 = pb::FieldCodec.ForInt32(58);
4885 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
4887 /// Legacy field.
4888 /// </summary>
4889 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4890 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4891 public pbc::RepeatedField<int> Vars {
4892 get { return vars_; }
4893 }
4894
4896 public const int ExprsFieldNumber = 8;
4897 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
4898 = pb::FieldCodec.ForMessage(66, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
4899 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
4901
4905 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4906 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4907 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
4908 get { return exprs_; }
4909 }
4910
4911 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4912 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4913 public override bool Equals(object other) {
4914 return Equals(other as AutomatonConstraintProto);
4915 }
4916
4917 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4918 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4919 public bool Equals(AutomatonConstraintProto other) {
4920 if (ReferenceEquals(other, null)) {
4921 return false;
4922 }
4923 if (ReferenceEquals(other, this)) {
4924 return true;
4925 }
4926 if (StartingState != other.StartingState) return false;
4927 if(!finalStates_.Equals(other.finalStates_)) return false;
4928 if(!transitionTail_.Equals(other.transitionTail_)) return false;
4929 if(!transitionHead_.Equals(other.transitionHead_)) return false;
4930 if(!transitionLabel_.Equals(other.transitionLabel_)) return false;
4931 if(!vars_.Equals(other.vars_)) return false;
4932 if(!exprs_.Equals(other.exprs_)) return false;
4933 return Equals(_unknownFields, other._unknownFields);
4935
4936 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4937 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4938 public override int GetHashCode() {
4939 int hash = 1;
4940 if (StartingState != 0L) hash ^= StartingState.GetHashCode();
4941 hash ^= finalStates_.GetHashCode();
4942 hash ^= transitionTail_.GetHashCode();
4943 hash ^= transitionHead_.GetHashCode();
4944 hash ^= transitionLabel_.GetHashCode();
4945 hash ^= vars_.GetHashCode();
4946 hash ^= exprs_.GetHashCode();
4947 if (_unknownFields != null) {
4948 hash ^= _unknownFields.GetHashCode();
4949 }
4950 return hash;
4951 }
4952
4953 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4954 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4955 public override string ToString() {
4956 return pb::JsonFormatter.ToDiagnosticString(this);
4957 }
4958
4959 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4960 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4961 public void WriteTo(pb::CodedOutputStream output) {
4962 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4963 output.WriteRawMessage(this);
4964 #else
4965 if (StartingState != 0L) {
4966 output.WriteRawTag(16);
4967 output.WriteInt64(StartingState);
4968 }
4969 finalStates_.WriteTo(output, _repeated_finalStates_codec);
4970 transitionTail_.WriteTo(output, _repeated_transitionTail_codec);
4971 transitionHead_.WriteTo(output, _repeated_transitionHead_codec);
4972 transitionLabel_.WriteTo(output, _repeated_transitionLabel_codec);
4973 vars_.WriteTo(output, _repeated_vars_codec);
4974 exprs_.WriteTo(output, _repeated_exprs_codec);
4975 if (_unknownFields != null) {
4976 _unknownFields.WriteTo(output);
4977 }
4978 #endif
4979 }
4980
4981 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4982 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4983 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4984 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4985 if (StartingState != 0L) {
4986 output.WriteRawTag(16);
4987 output.WriteInt64(StartingState);
4988 }
4989 finalStates_.WriteTo(ref output, _repeated_finalStates_codec);
4990 transitionTail_.WriteTo(ref output, _repeated_transitionTail_codec);
4991 transitionHead_.WriteTo(ref output, _repeated_transitionHead_codec);
4992 transitionLabel_.WriteTo(ref output, _repeated_transitionLabel_codec);
4993 vars_.WriteTo(ref output, _repeated_vars_codec);
4994 exprs_.WriteTo(ref output, _repeated_exprs_codec);
4995 if (_unknownFields != null) {
4996 _unknownFields.WriteTo(ref output);
4997 }
4998 }
4999 #endif
5000
5001 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5002 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5003 public int CalculateSize() {
5004 int size = 0;
5005 if (StartingState != 0L) {
5006 size += 1 + pb::CodedOutputStream.ComputeInt64Size(StartingState);
5007 }
5008 size += finalStates_.CalculateSize(_repeated_finalStates_codec);
5009 size += transitionTail_.CalculateSize(_repeated_transitionTail_codec);
5010 size += transitionHead_.CalculateSize(_repeated_transitionHead_codec);
5011 size += transitionLabel_.CalculateSize(_repeated_transitionLabel_codec);
5012 size += vars_.CalculateSize(_repeated_vars_codec);
5013 size += exprs_.CalculateSize(_repeated_exprs_codec);
5014 if (_unknownFields != null) {
5015 size += _unknownFields.CalculateSize();
5016 }
5017 return size;
5018 }
5019
5020 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5021 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5022 public void MergeFrom(AutomatonConstraintProto other) {
5023 if (other == null) {
5024 return;
5025 }
5026 if (other.StartingState != 0L) {
5027 StartingState = other.StartingState;
5028 }
5029 finalStates_.Add(other.finalStates_);
5030 transitionTail_.Add(other.transitionTail_);
5031 transitionHead_.Add(other.transitionHead_);
5032 transitionLabel_.Add(other.transitionLabel_);
5033 vars_.Add(other.vars_);
5034 exprs_.Add(other.exprs_);
5035 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5036 }
5037
5038 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5039 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5040 public void MergeFrom(pb::CodedInputStream input) {
5041 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5042 input.ReadRawMessage(this);
5043 #else
5044 uint tag;
5045 while ((tag = input.ReadTag()) != 0) {
5046 if ((tag & 7) == 4) {
5047 // Abort on any end group tag.
5048 return;
5049 }
5050 switch(tag) {
5051 default:
5052 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5053 break;
5054 case 16: {
5055 StartingState = input.ReadInt64();
5056 break;
5057 }
5058 case 26:
5059 case 24: {
5060 finalStates_.AddEntriesFrom(input, _repeated_finalStates_codec);
5061 break;
5062 }
5063 case 34:
5064 case 32: {
5065 transitionTail_.AddEntriesFrom(input, _repeated_transitionTail_codec);
5066 break;
5067 }
5068 case 42:
5069 case 40: {
5070 transitionHead_.AddEntriesFrom(input, _repeated_transitionHead_codec);
5071 break;
5072 }
5073 case 50:
5074 case 48: {
5075 transitionLabel_.AddEntriesFrom(input, _repeated_transitionLabel_codec);
5076 break;
5077 }
5078 case 58:
5079 case 56: {
5080 vars_.AddEntriesFrom(input, _repeated_vars_codec);
5081 break;
5082 }
5083 case 66: {
5084 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
5085 break;
5086 }
5087 }
5088 }
5089 #endif
5090 }
5091
5092 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5095 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5096 uint tag;
5097 while ((tag = input.ReadTag()) != 0) {
5098 if ((tag & 7) == 4) {
5099 // Abort on any end group tag.
5100 return;
5101 }
5102 switch(tag) {
5103 default:
5104 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5105 break;
5106 case 16: {
5107 StartingState = input.ReadInt64();
5108 break;
5109 }
5110 case 26:
5111 case 24: {
5112 finalStates_.AddEntriesFrom(ref input, _repeated_finalStates_codec);
5113 break;
5114 }
5115 case 34:
5116 case 32: {
5117 transitionTail_.AddEntriesFrom(ref input, _repeated_transitionTail_codec);
5118 break;
5119 }
5120 case 42:
5121 case 40: {
5122 transitionHead_.AddEntriesFrom(ref input, _repeated_transitionHead_codec);
5123 break;
5124 }
5125 case 50:
5126 case 48: {
5127 transitionLabel_.AddEntriesFrom(ref input, _repeated_transitionLabel_codec);
5128 break;
5129 }
5130 case 58:
5131 case 56: {
5132 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
5133 break;
5134 }
5135 case 66: {
5136 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
5137 break;
5138 }
5139 }
5140 }
5141 }
5142 #endif
5143
5144 }
5145
5149 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
5150 public sealed partial class ListOfVariablesProto : pb::IMessage<ListOfVariablesProto>
5151 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5152 , pb::IBufferMessage
5153 #endif
5154 {
5155 private static readonly pb::MessageParser<ListOfVariablesProto> _parser = new pb::MessageParser<ListOfVariablesProto>(() => new ListOfVariablesProto());
5156 private pb::UnknownFieldSet _unknownFields;
5157 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5158 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5159 public static pb::MessageParser<ListOfVariablesProto> Parser { get { return _parser; } }
5160
5161 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5162 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5163 public static pbr::MessageDescriptor Descriptor {
5164 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[17]; }
5165 }
5166
5167 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5168 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5169 pbr::MessageDescriptor pb::IMessage.Descriptor {
5170 get { return Descriptor; }
5172
5173 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5174 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5175 public ListOfVariablesProto() {
5176 OnConstruction();
5177 }
5178
5179 partial void OnConstruction();
5181 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5182 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5183 public ListOfVariablesProto(ListOfVariablesProto other) : this() {
5184 vars_ = other.vars_.Clone();
5185 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5186 }
5187
5188 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5189 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5190 public ListOfVariablesProto Clone() {
5191 return new ListOfVariablesProto(this);
5192 }
5193
5195 public const int VarsFieldNumber = 1;
5196 private static readonly pb::FieldCodec<int> _repeated_vars_codec
5197 = pb::FieldCodec.ForInt32(10);
5198 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
5199 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5200 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5201 public pbc::RepeatedField<int> Vars {
5202 get { return vars_; }
5203 }
5205 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5206 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5207 public override bool Equals(object other) {
5208 return Equals(other as ListOfVariablesProto);
5209 }
5210
5211 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5212 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5213 public bool Equals(ListOfVariablesProto other) {
5214 if (ReferenceEquals(other, null)) {
5215 return false;
5217 if (ReferenceEquals(other, this)) {
5218 return true;
5219 }
5220 if(!vars_.Equals(other.vars_)) return false;
5221 return Equals(_unknownFields, other._unknownFields);
5223
5224 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5225 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5226 public override int GetHashCode() {
5227 int hash = 1;
5228 hash ^= vars_.GetHashCode();
5229 if (_unknownFields != null) {
5230 hash ^= _unknownFields.GetHashCode();
5231 }
5232 return hash;
5233 }
5235 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5236 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5237 public override string ToString() {
5238 return pb::JsonFormatter.ToDiagnosticString(this);
5239 }
5240
5241 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5242 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5243 public void WriteTo(pb::CodedOutputStream output) {
5244 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5245 output.WriteRawMessage(this);
5246 #else
5247 vars_.WriteTo(output, _repeated_vars_codec);
5248 if (_unknownFields != null) {
5249 _unknownFields.WriteTo(output);
5250 }
5251 #endif
5252 }
5253
5254 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5257 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5258 vars_.WriteTo(ref output, _repeated_vars_codec);
5259 if (_unknownFields != null) {
5260 _unknownFields.WriteTo(ref output);
5261 }
5262 }
5263 #endif
5265 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5266 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5267 public int CalculateSize() {
5268 int size = 0;
5269 size += vars_.CalculateSize(_repeated_vars_codec);
5270 if (_unknownFields != null) {
5271 size += _unknownFields.CalculateSize();
5272 }
5273 return size;
5274 }
5275
5276 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5277 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5278 public void MergeFrom(ListOfVariablesProto other) {
5279 if (other == null) {
5280 return;
5281 }
5282 vars_.Add(other.vars_);
5283 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5284 }
5285
5286 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5287 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5288 public void MergeFrom(pb::CodedInputStream input) {
5289 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5290 input.ReadRawMessage(this);
5291 #else
5292 uint tag;
5293 while ((tag = input.ReadTag()) != 0) {
5294 if ((tag & 7) == 4) {
5295 // Abort on any end group tag.
5296 return;
5297 }
5298 switch(tag) {
5299 default:
5300 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5301 break;
5302 case 10:
5303 case 8: {
5304 vars_.AddEntriesFrom(input, _repeated_vars_codec);
5305 break;
5306 }
5307 }
5308 }
5309 #endif
5310 }
5311
5312 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5313 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5314 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5315 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5316 uint tag;
5317 while ((tag = input.ReadTag()) != 0) {
5318 if ((tag & 7) == 4) {
5319 // Abort on any end group tag.
5320 return;
5321 }
5322 switch(tag) {
5323 default:
5324 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5325 break;
5326 case 10:
5327 case 8: {
5328 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
5329 break;
5330 }
5331 }
5332 }
5333 }
5334 #endif
5335
5336 }
5337
5341 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
5342 public sealed partial class ConstraintProto : pb::IMessage<ConstraintProto>
5343 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5344 , pb::IBufferMessage
5345 #endif
5346 {
5347 private static readonly pb::MessageParser<ConstraintProto> _parser = new pb::MessageParser<ConstraintProto>(() => new ConstraintProto());
5348 private pb::UnknownFieldSet _unknownFields;
5349 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5350 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5351 public static pb::MessageParser<ConstraintProto> Parser { get { return _parser; } }
5352
5353 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5354 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5355 public static pbr::MessageDescriptor Descriptor {
5356 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[18]; }
5357 }
5358
5359 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5360 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5361 pbr::MessageDescriptor pb::IMessage.Descriptor {
5362 get { return Descriptor; }
5364
5365 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5366 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5367 public ConstraintProto() {
5368 OnConstruction();
5369 }
5370
5371 partial void OnConstruction();
5373 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5374 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5375 public ConstraintProto(ConstraintProto other) : this() {
5376 name_ = other.name_;
5377 enforcementLiteral_ = other.enforcementLiteral_.Clone();
5378 switch (other.ConstraintCase) {
5379 case ConstraintOneofCase.BoolOr:
5380 BoolOr = other.BoolOr.Clone();
5381 break;
5382 case ConstraintOneofCase.BoolAnd:
5383 BoolAnd = other.BoolAnd.Clone();
5384 break;
5385 case ConstraintOneofCase.AtMostOne:
5386 AtMostOne = other.AtMostOne.Clone();
5387 break;
5388 case ConstraintOneofCase.ExactlyOne:
5389 ExactlyOne = other.ExactlyOne.Clone();
5390 break;
5391 case ConstraintOneofCase.BoolXor:
5392 BoolXor = other.BoolXor.Clone();
5393 break;
5394 case ConstraintOneofCase.IntDiv:
5395 IntDiv = other.IntDiv.Clone();
5396 break;
5397 case ConstraintOneofCase.IntMod:
5398 IntMod = other.IntMod.Clone();
5399 break;
5400 case ConstraintOneofCase.IntProd:
5401 IntProd = other.IntProd.Clone();
5402 break;
5403 case ConstraintOneofCase.LinMax:
5404 LinMax = other.LinMax.Clone();
5405 break;
5406 case ConstraintOneofCase.Linear:
5407 Linear = other.Linear.Clone();
5408 break;
5409 case ConstraintOneofCase.AllDiff:
5410 AllDiff = other.AllDiff.Clone();
5411 break;
5412 case ConstraintOneofCase.Element:
5413 Element = other.Element.Clone();
5414 break;
5415 case ConstraintOneofCase.Circuit:
5416 Circuit = other.Circuit.Clone();
5417 break;
5418 case ConstraintOneofCase.Routes:
5419 Routes = other.Routes.Clone();
5420 break;
5421 case ConstraintOneofCase.Table:
5422 Table = other.Table.Clone();
5423 break;
5424 case ConstraintOneofCase.Automaton:
5425 Automaton = other.Automaton.Clone();
5426 break;
5427 case ConstraintOneofCase.Inverse:
5428 Inverse = other.Inverse.Clone();
5429 break;
5430 case ConstraintOneofCase.Reservoir:
5431 Reservoir = other.Reservoir.Clone();
5432 break;
5433 case ConstraintOneofCase.Interval:
5434 Interval = other.Interval.Clone();
5435 break;
5436 case ConstraintOneofCase.NoOverlap:
5437 NoOverlap = other.NoOverlap.Clone();
5438 break;
5439 case ConstraintOneofCase.NoOverlap2D:
5440 NoOverlap2D = other.NoOverlap2D.Clone();
5441 break;
5442 case ConstraintOneofCase.Cumulative:
5443 Cumulative = other.Cumulative.Clone();
5444 break;
5445 case ConstraintOneofCase.DummyConstraint:
5446 DummyConstraint = other.DummyConstraint.Clone();
5447 break;
5448 }
5449
5450 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5451 }
5452
5453 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5454 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5455 public ConstraintProto Clone() {
5456 return new ConstraintProto(this);
5457 }
5458
5460 public const int NameFieldNumber = 1;
5461 private string name_ = "";
5465 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5466 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5467 public string Name {
5468 get { return name_; }
5469 set {
5470 name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
5471 }
5472 }
5473
5475 public const int EnforcementLiteralFieldNumber = 2;
5476 private static readonly pb::FieldCodec<int> _repeated_enforcementLiteral_codec
5477 = pb::FieldCodec.ForInt32(18);
5478 private readonly pbc::RepeatedField<int> enforcementLiteral_ = new pbc::RepeatedField<int>();
5479
5488 /// l).
5489 ///
5490 /// Important: as of September 2018, only a few constraint support enforcement:
5491 /// - bool_or, bool_and, linear: fully supported.
5492 /// - interval: only support a single enforcement literal.
5493 /// - other: no support (but can be added on a per-demand basis).
5494 /// </summary>
5495 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5496 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5497 public pbc::RepeatedField<int> EnforcementLiteral {
5498 get { return enforcementLiteral_; }
5499 }
5500
5502 public const int BoolOrFieldNumber = 3;
5506 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5507 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5508 public global::Google.OrTools.Sat.BoolArgumentProto BoolOr {
5509 get { return constraintCase_ == ConstraintOneofCase.BoolOr ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5510 set {
5511 constraint_ = value;
5512 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.BoolOr;
5513 }
5514 }
5515
5517 public const int BoolAndFieldNumber = 4;
5520 ///
5521 /// This is a "redundant" constraint in the sense that this can easily be
5522 /// encoded with many bool_or or at_most_one. It is just more space efficient
5523 /// and handled slightly differently internally.
5524 /// </summary>
5525 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5526 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5527 public global::Google.OrTools.Sat.BoolArgumentProto BoolAnd {
5528 get { return constraintCase_ == ConstraintOneofCase.BoolAnd ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5529 set {
5530 constraint_ = value;
5531 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.BoolAnd;
5532 }
5533 }
5534
5536 public const int AtMostOneFieldNumber = 26;
5538
5550 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5551 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5552 public global::Google.OrTools.Sat.BoolArgumentProto AtMostOne {
5553 get { return constraintCase_ == ConstraintOneofCase.AtMostOne ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5554 set {
5555 constraint_ = value;
5556 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.AtMostOne;
5557 }
5558 }
5559
5561 public const int ExactlyOneFieldNumber = 29;
5576 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5577 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5578 public global::Google.OrTools.Sat.BoolArgumentProto ExactlyOne {
5579 get { return constraintCase_ == ConstraintOneofCase.ExactlyOne ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5580 set {
5581 constraint_ = value;
5582 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.ExactlyOne;
5583 }
5584 }
5585
5587 public const int BoolXorFieldNumber = 5;
5591 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5592 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5593 public global::Google.OrTools.Sat.BoolArgumentProto BoolXor {
5594 get { return constraintCase_ == ConstraintOneofCase.BoolXor ? (global::Google.OrTools.Sat.BoolArgumentProto) constraint_ : null; }
5595 set {
5596 constraint_ = value;
5597 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.BoolXor;
5598 }
5599 }
5600
5602 public const int IntDivFieldNumber = 7;
5606 /// (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division,
5607 /// then you should use instead of t = a / b, the int_prod constraint
5608 /// a = b * t.
5609 ///
5610 /// If 0 belongs to the domain of exprs[1], then the model is deemed invalid.
5611 /// </summary>
5612 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5613 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5614 public global::Google.OrTools.Sat.LinearArgumentProto IntDiv {
5615 get { return constraintCase_ == ConstraintOneofCase.IntDiv ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5616 set {
5617 constraint_ = value;
5618 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.IntDiv;
5619 }
5620 }
5623 public const int IntModFieldNumber = 8;
5628
5629 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5630 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5631 public global::Google.OrTools.Sat.LinearArgumentProto IntMod {
5632 get { return constraintCase_ == ConstraintOneofCase.IntMod ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5633 set {
5634 constraint_ = value;
5635 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.IntMod;
5636 }
5637 }
5638
5640 public const int IntProdFieldNumber = 11;
5643 /// variables. By convention, because we can just remove term equal to one,
5644 /// the empty product forces the target to be one.
5645 ///
5646 /// Note that the solver checks for potential integer overflow. So the
5647 /// product of the maximum absolute value of all the terms (using the initial
5648 /// domain) should fit on an int64. Otherwise the model will be declared
5649 /// invalid.
5650 /// </summary>
5651 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5652 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5653 public global::Google.OrTools.Sat.LinearArgumentProto IntProd {
5654 get { return constraintCase_ == ConstraintOneofCase.IntProd ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5655 set {
5656 constraint_ = value;
5657 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.IntProd;
5658 }
5659 }
5662 public const int LinMaxFieldNumber = 27;
5667
5668 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5669 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5670 public global::Google.OrTools.Sat.LinearArgumentProto LinMax {
5671 get { return constraintCase_ == ConstraintOneofCase.LinMax ? (global::Google.OrTools.Sat.LinearArgumentProto) constraint_ : null; }
5672 set {
5673 constraint_ = value;
5674 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.LinMax;
5675 }
5676 }
5677
5679 public const int LinearFieldNumber = 12;
5683 /// </summary>
5684 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5685 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5686 public global::Google.OrTools.Sat.LinearConstraintProto Linear {
5687 get { return constraintCase_ == ConstraintOneofCase.Linear ? (global::Google.OrTools.Sat.LinearConstraintProto) constraint_ : null; }
5688 set {
5689 constraint_ = value;
5690 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Linear;
5691 }
5693
5695 public const int AllDiffFieldNumber = 13;
5699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5701 public global::Google.OrTools.Sat.AllDifferentConstraintProto AllDiff {
5702 get { return constraintCase_ == ConstraintOneofCase.AllDiff ? (global::Google.OrTools.Sat.AllDifferentConstraintProto) constraint_ : null; }
5703 set {
5704 constraint_ = value;
5705 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.AllDiff;
5706 }
5707 }
5708
5710 public const int ElementFieldNumber = 14;
5715 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5716 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5717 public global::Google.OrTools.Sat.ElementConstraintProto Element {
5718 get { return constraintCase_ == ConstraintOneofCase.Element ? (global::Google.OrTools.Sat.ElementConstraintProto) constraint_ : null; }
5719 set {
5720 constraint_ = value;
5721 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Element;
5722 }
5723 }
5724
5726 public const int CircuitFieldNumber = 15;
5731 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5732 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5733 public global::Google.OrTools.Sat.CircuitConstraintProto Circuit {
5734 get { return constraintCase_ == ConstraintOneofCase.Circuit ? (global::Google.OrTools.Sat.CircuitConstraintProto) constraint_ : null; }
5735 set {
5736 constraint_ = value;
5737 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Circuit;
5738 }
5739 }
5742 public const int RoutesFieldNumber = 23;
5746 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5747 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5748 public global::Google.OrTools.Sat.RoutesConstraintProto Routes {
5749 get { return constraintCase_ == ConstraintOneofCase.Routes ? (global::Google.OrTools.Sat.RoutesConstraintProto) constraint_ : null; }
5750 set {
5751 constraint_ = value;
5752 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Routes;
5753 }
5754 }
5755
5757 public const int TableFieldNumber = 16;
5762 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5763 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5764 public global::Google.OrTools.Sat.TableConstraintProto Table {
5765 get { return constraintCase_ == ConstraintOneofCase.Table ? (global::Google.OrTools.Sat.TableConstraintProto) constraint_ : null; }
5766 set {
5767 constraint_ = value;
5768 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Table;
5769 }
5770 }
5771
5773 public const int AutomatonFieldNumber = 17;
5778 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5779 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5780 public global::Google.OrTools.Sat.AutomatonConstraintProto Automaton {
5781 get { return constraintCase_ == ConstraintOneofCase.Automaton ? (global::Google.OrTools.Sat.AutomatonConstraintProto) constraint_ : null; }
5782 set {
5783 constraint_ = value;
5784 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Automaton;
5785 }
5786 }
5789 public const int InverseFieldNumber = 18;
5794 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5795 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5796 public global::Google.OrTools.Sat.InverseConstraintProto Inverse {
5797 get { return constraintCase_ == ConstraintOneofCase.Inverse ? (global::Google.OrTools.Sat.InverseConstraintProto) constraint_ : null; }
5798 set {
5799 constraint_ = value;
5800 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Inverse;
5801 }
5802 }
5805 public const int ReservoirFieldNumber = 24;
5810 /// </summary>
5811 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5812 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5813 public global::Google.OrTools.Sat.ReservoirConstraintProto Reservoir {
5814 get { return constraintCase_ == ConstraintOneofCase.Reservoir ? (global::Google.OrTools.Sat.ReservoirConstraintProto) constraint_ : null; }
5815 set {
5816 constraint_ = value;
5817 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Reservoir;
5818 }
5820
5822 public const int IntervalFieldNumber = 19;
5826 /// </summary>
5827 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5828 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5829 public global::Google.OrTools.Sat.IntervalConstraintProto Interval {
5830 get { return constraintCase_ == ConstraintOneofCase.Interval ? (global::Google.OrTools.Sat.IntervalConstraintProto) constraint_ : null; }
5831 set {
5832 constraint_ = value;
5833 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Interval;
5834 }
5836
5838 public const int NoOverlapFieldNumber = 20;
5843 /// </summary>
5844 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5845 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5846 public global::Google.OrTools.Sat.NoOverlapConstraintProto NoOverlap {
5847 get { return constraintCase_ == ConstraintOneofCase.NoOverlap ? (global::Google.OrTools.Sat.NoOverlapConstraintProto) constraint_ : null; }
5848 set {
5849 constraint_ = value;
5850 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.NoOverlap;
5851 }
5853
5855 public const int NoOverlap2DFieldNumber = 21;
5859 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5860 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5861 public global::Google.OrTools.Sat.NoOverlap2DConstraintProto NoOverlap2D {
5862 get { return constraintCase_ == ConstraintOneofCase.NoOverlap2D ? (global::Google.OrTools.Sat.NoOverlap2DConstraintProto) constraint_ : null; }
5863 set {
5864 constraint_ = value;
5865 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.NoOverlap2D;
5866 }
5867 }
5870 public const int CumulativeFieldNumber = 22;
5876 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5877 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5878 public global::Google.OrTools.Sat.CumulativeConstraintProto Cumulative {
5879 get { return constraintCase_ == ConstraintOneofCase.Cumulative ? (global::Google.OrTools.Sat.CumulativeConstraintProto) constraint_ : null; }
5880 set {
5881 constraint_ = value;
5882 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.Cumulative;
5883 }
5884 }
5887 public const int DummyConstraintFieldNumber = 30;
5891 /// </summary>
5892 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5893 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5894 public global::Google.OrTools.Sat.ListOfVariablesProto DummyConstraint {
5895 get { return constraintCase_ == ConstraintOneofCase.DummyConstraint ? (global::Google.OrTools.Sat.ListOfVariablesProto) constraint_ : null; }
5896 set {
5897 constraint_ = value;
5898 constraintCase_ = value == null ? ConstraintOneofCase.None : ConstraintOneofCase.DummyConstraint;
5899 }
5901
5902 private object constraint_;
5904 public enum ConstraintOneofCase {
5905 None = 0,
5906 BoolOr = 3,
5907 BoolAnd = 4,
5909 ExactlyOne = 29,
5910 BoolXor = 5,
5911 IntDiv = 7,
5912 IntMod = 8,
5913 IntProd = 11,
5914 LinMax = 27,
5915 Linear = 12,
5916 AllDiff = 13,
5918 Circuit = 15,
5919 Routes = 23,
5920 Table = 16,
5921 Automaton = 17,
5922 Inverse = 18,
5923 Reservoir = 24,
5925 NoOverlap = 20,
5926 NoOverlap2D = 21,
5927 Cumulative = 22,
5928 DummyConstraint = 30,
5929 }
5930 private ConstraintOneofCase constraintCase_ = ConstraintOneofCase.None;
5931 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5932 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5933 public ConstraintOneofCase ConstraintCase {
5934 get { return constraintCase_; }
5937 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5938 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5939 public void ClearConstraint() {
5940 constraintCase_ = ConstraintOneofCase.None;
5941 constraint_ = null;
5944 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5945 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5946 public override bool Equals(object other) {
5947 return Equals(other as ConstraintProto);
5950 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5951 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5952 public bool Equals(ConstraintProto other) {
5953 if (ReferenceEquals(other, null)) {
5954 return false;
5956 if (ReferenceEquals(other, this)) {
5957 return true;
5959 if (Name != other.Name) return false;
5960 if(!enforcementLiteral_.Equals(other.enforcementLiteral_)) return false;
5961 if (!object.Equals(BoolOr, other.BoolOr)) return false;
5962 if (!object.Equals(BoolAnd, other.BoolAnd)) return false;
5963 if (!object.Equals(AtMostOne, other.AtMostOne)) return false;
5964 if (!object.Equals(ExactlyOne, other.ExactlyOne)) return false;
5965 if (!object.Equals(BoolXor, other.BoolXor)) return false;
5966 if (!object.Equals(IntDiv, other.IntDiv)) return false;
5967 if (!object.Equals(IntMod, other.IntMod)) return false;
5968 if (!object.Equals(IntProd, other.IntProd)) return false;
5969 if (!object.Equals(LinMax, other.LinMax)) return false;
5970 if (!object.Equals(Linear, other.Linear)) return false;
5971 if (!object.Equals(AllDiff, other.AllDiff)) return false;
5972 if (!object.Equals(Element, other.Element)) return false;
5973 if (!object.Equals(Circuit, other.Circuit)) return false;
5974 if (!object.Equals(Routes, other.Routes)) return false;
5975 if (!object.Equals(Table, other.Table)) return false;
5976 if (!object.Equals(Automaton, other.Automaton)) return false;
5977 if (!object.Equals(Inverse, other.Inverse)) return false;
5978 if (!object.Equals(Reservoir, other.Reservoir)) return false;
5979 if (!object.Equals(Interval, other.Interval)) return false;
5980 if (!object.Equals(NoOverlap, other.NoOverlap)) return false;
5981 if (!object.Equals(NoOverlap2D, other.NoOverlap2D)) return false;
5982 if (!object.Equals(Cumulative, other.Cumulative)) return false;
5983 if (!object.Equals(DummyConstraint, other.DummyConstraint)) return false;
5984 if (ConstraintCase != other.ConstraintCase) return false;
5985 return Equals(_unknownFields, other._unknownFields);
5986 }
5987
5988 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5989 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
5990 public override int GetHashCode() {
5991 int hash = 1;
5992 if (Name.Length != 0) hash ^= Name.GetHashCode();
5993 hash ^= enforcementLiteral_.GetHashCode();
5994 if (constraintCase_ == ConstraintOneofCase.BoolOr) hash ^= BoolOr.GetHashCode();
5995 if (constraintCase_ == ConstraintOneofCase.BoolAnd) hash ^= BoolAnd.GetHashCode();
5996 if (constraintCase_ == ConstraintOneofCase.AtMostOne) hash ^= AtMostOne.GetHashCode();
5997 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) hash ^= ExactlyOne.GetHashCode();
5998 if (constraintCase_ == ConstraintOneofCase.BoolXor) hash ^= BoolXor.GetHashCode();
5999 if (constraintCase_ == ConstraintOneofCase.IntDiv) hash ^= IntDiv.GetHashCode();
6000 if (constraintCase_ == ConstraintOneofCase.IntMod) hash ^= IntMod.GetHashCode();
6001 if (constraintCase_ == ConstraintOneofCase.IntProd) hash ^= IntProd.GetHashCode();
6002 if (constraintCase_ == ConstraintOneofCase.LinMax) hash ^= LinMax.GetHashCode();
6003 if (constraintCase_ == ConstraintOneofCase.Linear) hash ^= Linear.GetHashCode();
6004 if (constraintCase_ == ConstraintOneofCase.AllDiff) hash ^= AllDiff.GetHashCode();
6005 if (constraintCase_ == ConstraintOneofCase.Element) hash ^= Element.GetHashCode();
6006 if (constraintCase_ == ConstraintOneofCase.Circuit) hash ^= Circuit.GetHashCode();
6007 if (constraintCase_ == ConstraintOneofCase.Routes) hash ^= Routes.GetHashCode();
6008 if (constraintCase_ == ConstraintOneofCase.Table) hash ^= Table.GetHashCode();
6009 if (constraintCase_ == ConstraintOneofCase.Automaton) hash ^= Automaton.GetHashCode();
6010 if (constraintCase_ == ConstraintOneofCase.Inverse) hash ^= Inverse.GetHashCode();
6011 if (constraintCase_ == ConstraintOneofCase.Reservoir) hash ^= Reservoir.GetHashCode();
6012 if (constraintCase_ == ConstraintOneofCase.Interval) hash ^= Interval.GetHashCode();
6013 if (constraintCase_ == ConstraintOneofCase.NoOverlap) hash ^= NoOverlap.GetHashCode();
6014 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) hash ^= NoOverlap2D.GetHashCode();
6015 if (constraintCase_ == ConstraintOneofCase.Cumulative) hash ^= Cumulative.GetHashCode();
6016 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) hash ^= DummyConstraint.GetHashCode();
6017 hash ^= (int) constraintCase_;
6018 if (_unknownFields != null) {
6019 hash ^= _unknownFields.GetHashCode();
6021 return hash;
6022 }
6023
6024 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6025 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6026 public override string ToString() {
6027 return pb::JsonFormatter.ToDiagnosticString(this);
6028 }
6029
6030 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6031 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6032 public void WriteTo(pb::CodedOutputStream output) {
6033 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6034 output.WriteRawMessage(this);
6035 #else
6036 if (Name.Length != 0) {
6037 output.WriteRawTag(10);
6038 output.WriteString(Name);
6039 }
6040 enforcementLiteral_.WriteTo(output, _repeated_enforcementLiteral_codec);
6041 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6042 output.WriteRawTag(26);
6043 output.WriteMessage(BoolOr);
6044 }
6045 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6046 output.WriteRawTag(34);
6047 output.WriteMessage(BoolAnd);
6048 }
6049 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6050 output.WriteRawTag(42);
6051 output.WriteMessage(BoolXor);
6052 }
6053 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6054 output.WriteRawTag(58);
6055 output.WriteMessage(IntDiv);
6057 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6058 output.WriteRawTag(66);
6059 output.WriteMessage(IntMod);
6060 }
6061 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6062 output.WriteRawTag(90);
6063 output.WriteMessage(IntProd);
6064 }
6065 if (constraintCase_ == ConstraintOneofCase.Linear) {
6066 output.WriteRawTag(98);
6067 output.WriteMessage(Linear);
6068 }
6069 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6070 output.WriteRawTag(106);
6071 output.WriteMessage(AllDiff);
6072 }
6073 if (constraintCase_ == ConstraintOneofCase.Element) {
6074 output.WriteRawTag(114);
6075 output.WriteMessage(Element);
6076 }
6077 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6078 output.WriteRawTag(122);
6079 output.WriteMessage(Circuit);
6080 }
6081 if (constraintCase_ == ConstraintOneofCase.Table) {
6082 output.WriteRawTag(130, 1);
6083 output.WriteMessage(Table);
6084 }
6085 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6086 output.WriteRawTag(138, 1);
6087 output.WriteMessage(Automaton);
6088 }
6089 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6090 output.WriteRawTag(146, 1);
6091 output.WriteMessage(Inverse);
6092 }
6093 if (constraintCase_ == ConstraintOneofCase.Interval) {
6094 output.WriteRawTag(154, 1);
6095 output.WriteMessage(Interval);
6096 }
6097 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6098 output.WriteRawTag(162, 1);
6099 output.WriteMessage(NoOverlap);
6100 }
6101 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6102 output.WriteRawTag(170, 1);
6103 output.WriteMessage(NoOverlap2D);
6104 }
6105 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6106 output.WriteRawTag(178, 1);
6107 output.WriteMessage(Cumulative);
6108 }
6109 if (constraintCase_ == ConstraintOneofCase.Routes) {
6110 output.WriteRawTag(186, 1);
6111 output.WriteMessage(Routes);
6112 }
6113 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6114 output.WriteRawTag(194, 1);
6115 output.WriteMessage(Reservoir);
6116 }
6117 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6118 output.WriteRawTag(210, 1);
6119 output.WriteMessage(AtMostOne);
6120 }
6121 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6122 output.WriteRawTag(218, 1);
6123 output.WriteMessage(LinMax);
6124 }
6125 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6126 output.WriteRawTag(234, 1);
6127 output.WriteMessage(ExactlyOne);
6128 }
6129 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6130 output.WriteRawTag(242, 1);
6131 output.WriteMessage(DummyConstraint);
6132 }
6133 if (_unknownFields != null) {
6134 _unknownFields.WriteTo(output);
6135 }
6136 #endif
6137 }
6138
6139 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6142 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
6143 if (Name.Length != 0) {
6144 output.WriteRawTag(10);
6145 output.WriteString(Name);
6146 }
6147 enforcementLiteral_.WriteTo(ref output, _repeated_enforcementLiteral_codec);
6148 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6149 output.WriteRawTag(26);
6150 output.WriteMessage(BoolOr);
6151 }
6152 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6153 output.WriteRawTag(34);
6154 output.WriteMessage(BoolAnd);
6155 }
6156 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6157 output.WriteRawTag(42);
6158 output.WriteMessage(BoolXor);
6159 }
6160 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6161 output.WriteRawTag(58);
6162 output.WriteMessage(IntDiv);
6163 }
6164 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6165 output.WriteRawTag(66);
6166 output.WriteMessage(IntMod);
6167 }
6168 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6169 output.WriteRawTag(90);
6170 output.WriteMessage(IntProd);
6171 }
6172 if (constraintCase_ == ConstraintOneofCase.Linear) {
6173 output.WriteRawTag(98);
6174 output.WriteMessage(Linear);
6175 }
6176 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6177 output.WriteRawTag(106);
6178 output.WriteMessage(AllDiff);
6179 }
6180 if (constraintCase_ == ConstraintOneofCase.Element) {
6181 output.WriteRawTag(114);
6182 output.WriteMessage(Element);
6183 }
6184 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6185 output.WriteRawTag(122);
6186 output.WriteMessage(Circuit);
6187 }
6188 if (constraintCase_ == ConstraintOneofCase.Table) {
6189 output.WriteRawTag(130, 1);
6190 output.WriteMessage(Table);
6191 }
6192 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6193 output.WriteRawTag(138, 1);
6194 output.WriteMessage(Automaton);
6195 }
6196 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6197 output.WriteRawTag(146, 1);
6198 output.WriteMessage(Inverse);
6199 }
6200 if (constraintCase_ == ConstraintOneofCase.Interval) {
6201 output.WriteRawTag(154, 1);
6202 output.WriteMessage(Interval);
6203 }
6204 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6205 output.WriteRawTag(162, 1);
6206 output.WriteMessage(NoOverlap);
6207 }
6208 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6209 output.WriteRawTag(170, 1);
6210 output.WriteMessage(NoOverlap2D);
6211 }
6212 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6213 output.WriteRawTag(178, 1);
6214 output.WriteMessage(Cumulative);
6215 }
6216 if (constraintCase_ == ConstraintOneofCase.Routes) {
6217 output.WriteRawTag(186, 1);
6218 output.WriteMessage(Routes);
6219 }
6220 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6221 output.WriteRawTag(194, 1);
6222 output.WriteMessage(Reservoir);
6223 }
6224 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6225 output.WriteRawTag(210, 1);
6226 output.WriteMessage(AtMostOne);
6227 }
6228 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6229 output.WriteRawTag(218, 1);
6230 output.WriteMessage(LinMax);
6231 }
6232 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6233 output.WriteRawTag(234, 1);
6234 output.WriteMessage(ExactlyOne);
6235 }
6236 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6237 output.WriteRawTag(242, 1);
6238 output.WriteMessage(DummyConstraint);
6239 }
6240 if (_unknownFields != null) {
6241 _unknownFields.WriteTo(ref output);
6242 }
6243 }
6244 #endif
6245
6246 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6247 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6248 public int CalculateSize() {
6249 int size = 0;
6250 if (Name.Length != 0) {
6251 size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
6252 }
6253 size += enforcementLiteral_.CalculateSize(_repeated_enforcementLiteral_codec);
6254 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6255 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoolOr);
6256 }
6257 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6258 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoolAnd);
6259 }
6260 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6261 size += 2 + pb::CodedOutputStream.ComputeMessageSize(AtMostOne);
6262 }
6263 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6264 size += 2 + pb::CodedOutputStream.ComputeMessageSize(ExactlyOne);
6265 }
6266 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6267 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoolXor);
6268 }
6269 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6270 size += 1 + pb::CodedOutputStream.ComputeMessageSize(IntDiv);
6271 }
6272 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6273 size += 1 + pb::CodedOutputStream.ComputeMessageSize(IntMod);
6274 }
6275 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6276 size += 1 + pb::CodedOutputStream.ComputeMessageSize(IntProd);
6277 }
6278 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6279 size += 2 + pb::CodedOutputStream.ComputeMessageSize(LinMax);
6280 }
6281 if (constraintCase_ == ConstraintOneofCase.Linear) {
6282 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Linear);
6283 }
6284 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6285 size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllDiff);
6286 }
6287 if (constraintCase_ == ConstraintOneofCase.Element) {
6288 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Element);
6289 }
6290 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6291 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Circuit);
6292 }
6293 if (constraintCase_ == ConstraintOneofCase.Routes) {
6294 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Routes);
6295 }
6296 if (constraintCase_ == ConstraintOneofCase.Table) {
6297 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Table);
6298 }
6299 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6300 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Automaton);
6301 }
6302 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6303 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Inverse);
6304 }
6305 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6306 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Reservoir);
6307 }
6308 if (constraintCase_ == ConstraintOneofCase.Interval) {
6309 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Interval);
6310 }
6311 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6312 size += 2 + pb::CodedOutputStream.ComputeMessageSize(NoOverlap);
6313 }
6314 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6315 size += 2 + pb::CodedOutputStream.ComputeMessageSize(NoOverlap2D);
6316 }
6317 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6318 size += 2 + pb::CodedOutputStream.ComputeMessageSize(Cumulative);
6319 }
6320 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6321 size += 2 + pb::CodedOutputStream.ComputeMessageSize(DummyConstraint);
6322 }
6323 if (_unknownFields != null) {
6324 size += _unknownFields.CalculateSize();
6325 }
6326 return size;
6327 }
6328
6329 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6330 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6331 public void MergeFrom(ConstraintProto other) {
6332 if (other == null) {
6333 return;
6334 }
6335 if (other.Name.Length != 0) {
6336 Name = other.Name;
6337 }
6338 enforcementLiteral_.Add(other.enforcementLiteral_);
6339 switch (other.ConstraintCase) {
6340 case ConstraintOneofCase.BoolOr:
6341 if (BoolOr == null) {
6342 BoolOr = new global::Google.OrTools.Sat.BoolArgumentProto();
6343 }
6344 BoolOr.MergeFrom(other.BoolOr);
6345 break;
6346 case ConstraintOneofCase.BoolAnd:
6347 if (BoolAnd == null) {
6348 BoolAnd = new global::Google.OrTools.Sat.BoolArgumentProto();
6349 }
6350 BoolAnd.MergeFrom(other.BoolAnd);
6351 break;
6352 case ConstraintOneofCase.AtMostOne:
6353 if (AtMostOne == null) {
6354 AtMostOne = new global::Google.OrTools.Sat.BoolArgumentProto();
6355 }
6356 AtMostOne.MergeFrom(other.AtMostOne);
6357 break;
6358 case ConstraintOneofCase.ExactlyOne:
6359 if (ExactlyOne == null) {
6360 ExactlyOne = new global::Google.OrTools.Sat.BoolArgumentProto();
6362 ExactlyOne.MergeFrom(other.ExactlyOne);
6363 break;
6364 case ConstraintOneofCase.BoolXor:
6365 if (BoolXor == null) {
6366 BoolXor = new global::Google.OrTools.Sat.BoolArgumentProto();
6367 }
6368 BoolXor.MergeFrom(other.BoolXor);
6369 break;
6370 case ConstraintOneofCase.IntDiv:
6371 if (IntDiv == null) {
6372 IntDiv = new global::Google.OrTools.Sat.LinearArgumentProto();
6373 }
6374 IntDiv.MergeFrom(other.IntDiv);
6375 break;
6376 case ConstraintOneofCase.IntMod:
6377 if (IntMod == null) {
6378 IntMod = new global::Google.OrTools.Sat.LinearArgumentProto();
6379 }
6380 IntMod.MergeFrom(other.IntMod);
6381 break;
6382 case ConstraintOneofCase.IntProd:
6383 if (IntProd == null) {
6384 IntProd = new global::Google.OrTools.Sat.LinearArgumentProto();
6385 }
6386 IntProd.MergeFrom(other.IntProd);
6387 break;
6388 case ConstraintOneofCase.LinMax:
6389 if (LinMax == null) {
6390 LinMax = new global::Google.OrTools.Sat.LinearArgumentProto();
6391 }
6392 LinMax.MergeFrom(other.LinMax);
6393 break;
6394 case ConstraintOneofCase.Linear:
6395 if (Linear == null) {
6396 Linear = new global::Google.OrTools.Sat.LinearConstraintProto();
6397 }
6398 Linear.MergeFrom(other.Linear);
6399 break;
6400 case ConstraintOneofCase.AllDiff:
6401 if (AllDiff == null) {
6402 AllDiff = new global::Google.OrTools.Sat.AllDifferentConstraintProto();
6403 }
6404 AllDiff.MergeFrom(other.AllDiff);
6405 break;
6406 case ConstraintOneofCase.Element:
6407 if (Element == null) {
6408 Element = new global::Google.OrTools.Sat.ElementConstraintProto();
6409 }
6410 Element.MergeFrom(other.Element);
6411 break;
6412 case ConstraintOneofCase.Circuit:
6413 if (Circuit == null) {
6414 Circuit = new global::Google.OrTools.Sat.CircuitConstraintProto();
6415 }
6416 Circuit.MergeFrom(other.Circuit);
6417 break;
6418 case ConstraintOneofCase.Routes:
6419 if (Routes == null) {
6420 Routes = new global::Google.OrTools.Sat.RoutesConstraintProto();
6421 }
6422 Routes.MergeFrom(other.Routes);
6423 break;
6424 case ConstraintOneofCase.Table:
6425 if (Table == null) {
6426 Table = new global::Google.OrTools.Sat.TableConstraintProto();
6427 }
6428 Table.MergeFrom(other.Table);
6429 break;
6430 case ConstraintOneofCase.Automaton:
6431 if (Automaton == null) {
6432 Automaton = new global::Google.OrTools.Sat.AutomatonConstraintProto();
6433 }
6434 Automaton.MergeFrom(other.Automaton);
6435 break;
6436 case ConstraintOneofCase.Inverse:
6437 if (Inverse == null) {
6438 Inverse = new global::Google.OrTools.Sat.InverseConstraintProto();
6439 }
6440 Inverse.MergeFrom(other.Inverse);
6441 break;
6442 case ConstraintOneofCase.Reservoir:
6443 if (Reservoir == null) {
6444 Reservoir = new global::Google.OrTools.Sat.ReservoirConstraintProto();
6445 }
6446 Reservoir.MergeFrom(other.Reservoir);
6447 break;
6448 case ConstraintOneofCase.Interval:
6449 if (Interval == null) {
6450 Interval = new global::Google.OrTools.Sat.IntervalConstraintProto();
6451 }
6452 Interval.MergeFrom(other.Interval);
6453 break;
6454 case ConstraintOneofCase.NoOverlap:
6455 if (NoOverlap == null) {
6456 NoOverlap = new global::Google.OrTools.Sat.NoOverlapConstraintProto();
6457 }
6458 NoOverlap.MergeFrom(other.NoOverlap);
6459 break;
6460 case ConstraintOneofCase.NoOverlap2D:
6461 if (NoOverlap2D == null) {
6462 NoOverlap2D = new global::Google.OrTools.Sat.NoOverlap2DConstraintProto();
6463 }
6464 NoOverlap2D.MergeFrom(other.NoOverlap2D);
6465 break;
6466 case ConstraintOneofCase.Cumulative:
6467 if (Cumulative == null) {
6468 Cumulative = new global::Google.OrTools.Sat.CumulativeConstraintProto();
6469 }
6470 Cumulative.MergeFrom(other.Cumulative);
6471 break;
6472 case ConstraintOneofCase.DummyConstraint:
6473 if (DummyConstraint == null) {
6474 DummyConstraint = new global::Google.OrTools.Sat.ListOfVariablesProto();
6475 }
6476 DummyConstraint.MergeFrom(other.DummyConstraint);
6477 break;
6478 }
6479
6480 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
6481 }
6482
6483 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6484 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6485 public void MergeFrom(pb::CodedInputStream input) {
6486 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6487 input.ReadRawMessage(this);
6488 #else
6489 uint tag;
6490 while ((tag = input.ReadTag()) != 0) {
6491 if ((tag & 7) == 4) {
6492 // Abort on any end group tag.
6493 return;
6494 }
6495 switch(tag) {
6496 default:
6497 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
6498 break;
6499 case 10: {
6500 Name = input.ReadString();
6501 break;
6502 }
6503 case 18:
6504 case 16: {
6505 enforcementLiteral_.AddEntriesFrom(input, _repeated_enforcementLiteral_codec);
6506 break;
6507 }
6508 case 26: {
6509 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6510 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6511 subBuilder.MergeFrom(BoolOr);
6512 }
6513 input.ReadMessage(subBuilder);
6514 BoolOr = subBuilder;
6515 break;
6516 }
6517 case 34: {
6518 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6519 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6520 subBuilder.MergeFrom(BoolAnd);
6521 }
6522 input.ReadMessage(subBuilder);
6523 BoolAnd = subBuilder;
6524 break;
6525 }
6526 case 42: {
6527 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6528 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6529 subBuilder.MergeFrom(BoolXor);
6530 }
6531 input.ReadMessage(subBuilder);
6532 BoolXor = subBuilder;
6533 break;
6534 }
6535 case 58: {
6536 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6537 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6538 subBuilder.MergeFrom(IntDiv);
6539 }
6540 input.ReadMessage(subBuilder);
6541 IntDiv = subBuilder;
6542 break;
6543 }
6544 case 66: {
6545 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6546 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6547 subBuilder.MergeFrom(IntMod);
6548 }
6549 input.ReadMessage(subBuilder);
6550 IntMod = subBuilder;
6551 break;
6552 }
6553 case 90: {
6554 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6555 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6556 subBuilder.MergeFrom(IntProd);
6557 }
6558 input.ReadMessage(subBuilder);
6559 IntProd = subBuilder;
6560 break;
6561 }
6562 case 98: {
6563 global::Google.OrTools.Sat.LinearConstraintProto subBuilder = new global::Google.OrTools.Sat.LinearConstraintProto();
6564 if (constraintCase_ == ConstraintOneofCase.Linear) {
6565 subBuilder.MergeFrom(Linear);
6566 }
6567 input.ReadMessage(subBuilder);
6568 Linear = subBuilder;
6569 break;
6570 }
6571 case 106: {
6572 global::Google.OrTools.Sat.AllDifferentConstraintProto subBuilder = new global::Google.OrTools.Sat.AllDifferentConstraintProto();
6573 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6574 subBuilder.MergeFrom(AllDiff);
6575 }
6576 input.ReadMessage(subBuilder);
6577 AllDiff = subBuilder;
6578 break;
6579 }
6580 case 114: {
6581 global::Google.OrTools.Sat.ElementConstraintProto subBuilder = new global::Google.OrTools.Sat.ElementConstraintProto();
6582 if (constraintCase_ == ConstraintOneofCase.Element) {
6583 subBuilder.MergeFrom(Element);
6584 }
6585 input.ReadMessage(subBuilder);
6586 Element = subBuilder;
6587 break;
6588 }
6589 case 122: {
6590 global::Google.OrTools.Sat.CircuitConstraintProto subBuilder = new global::Google.OrTools.Sat.CircuitConstraintProto();
6591 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6592 subBuilder.MergeFrom(Circuit);
6593 }
6594 input.ReadMessage(subBuilder);
6595 Circuit = subBuilder;
6596 break;
6597 }
6598 case 130: {
6599 global::Google.OrTools.Sat.TableConstraintProto subBuilder = new global::Google.OrTools.Sat.TableConstraintProto();
6600 if (constraintCase_ == ConstraintOneofCase.Table) {
6601 subBuilder.MergeFrom(Table);
6602 }
6603 input.ReadMessage(subBuilder);
6604 Table = subBuilder;
6605 break;
6606 }
6607 case 138: {
6608 global::Google.OrTools.Sat.AutomatonConstraintProto subBuilder = new global::Google.OrTools.Sat.AutomatonConstraintProto();
6609 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6610 subBuilder.MergeFrom(Automaton);
6611 }
6612 input.ReadMessage(subBuilder);
6613 Automaton = subBuilder;
6614 break;
6615 }
6616 case 146: {
6617 global::Google.OrTools.Sat.InverseConstraintProto subBuilder = new global::Google.OrTools.Sat.InverseConstraintProto();
6618 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6619 subBuilder.MergeFrom(Inverse);
6620 }
6621 input.ReadMessage(subBuilder);
6622 Inverse = subBuilder;
6623 break;
6624 }
6625 case 154: {
6626 global::Google.OrTools.Sat.IntervalConstraintProto subBuilder = new global::Google.OrTools.Sat.IntervalConstraintProto();
6627 if (constraintCase_ == ConstraintOneofCase.Interval) {
6628 subBuilder.MergeFrom(Interval);
6629 }
6630 input.ReadMessage(subBuilder);
6631 Interval = subBuilder;
6632 break;
6633 }
6634 case 162: {
6635 global::Google.OrTools.Sat.NoOverlapConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlapConstraintProto();
6636 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6637 subBuilder.MergeFrom(NoOverlap);
6638 }
6639 input.ReadMessage(subBuilder);
6640 NoOverlap = subBuilder;
6641 break;
6642 }
6643 case 170: {
6644 global::Google.OrTools.Sat.NoOverlap2DConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlap2DConstraintProto();
6645 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6646 subBuilder.MergeFrom(NoOverlap2D);
6647 }
6648 input.ReadMessage(subBuilder);
6649 NoOverlap2D = subBuilder;
6650 break;
6651 }
6652 case 178: {
6653 global::Google.OrTools.Sat.CumulativeConstraintProto subBuilder = new global::Google.OrTools.Sat.CumulativeConstraintProto();
6654 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6655 subBuilder.MergeFrom(Cumulative);
6656 }
6657 input.ReadMessage(subBuilder);
6658 Cumulative = subBuilder;
6659 break;
6660 }
6661 case 186: {
6662 global::Google.OrTools.Sat.RoutesConstraintProto subBuilder = new global::Google.OrTools.Sat.RoutesConstraintProto();
6663 if (constraintCase_ == ConstraintOneofCase.Routes) {
6664 subBuilder.MergeFrom(Routes);
6665 }
6666 input.ReadMessage(subBuilder);
6667 Routes = subBuilder;
6668 break;
6669 }
6670 case 194: {
6671 global::Google.OrTools.Sat.ReservoirConstraintProto subBuilder = new global::Google.OrTools.Sat.ReservoirConstraintProto();
6672 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6673 subBuilder.MergeFrom(Reservoir);
6674 }
6675 input.ReadMessage(subBuilder);
6676 Reservoir = subBuilder;
6677 break;
6678 }
6679 case 210: {
6680 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6681 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6682 subBuilder.MergeFrom(AtMostOne);
6683 }
6684 input.ReadMessage(subBuilder);
6685 AtMostOne = subBuilder;
6686 break;
6687 }
6688 case 218: {
6689 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6690 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6691 subBuilder.MergeFrom(LinMax);
6692 }
6693 input.ReadMessage(subBuilder);
6694 LinMax = subBuilder;
6695 break;
6696 }
6697 case 234: {
6698 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6699 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6700 subBuilder.MergeFrom(ExactlyOne);
6701 }
6702 input.ReadMessage(subBuilder);
6703 ExactlyOne = subBuilder;
6704 break;
6705 }
6706 case 242: {
6707 global::Google.OrTools.Sat.ListOfVariablesProto subBuilder = new global::Google.OrTools.Sat.ListOfVariablesProto();
6708 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6709 subBuilder.MergeFrom(DummyConstraint);
6710 }
6711 input.ReadMessage(subBuilder);
6712 DummyConstraint = subBuilder;
6713 break;
6714 }
6715 }
6716 }
6717 #endif
6718 }
6719
6720 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6721 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6722 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6723 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
6724 uint tag;
6725 while ((tag = input.ReadTag()) != 0) {
6726 if ((tag & 7) == 4) {
6727 // Abort on any end group tag.
6728 return;
6729 }
6730 switch(tag) {
6731 default:
6732 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
6733 break;
6734 case 10: {
6735 Name = input.ReadString();
6736 break;
6737 }
6738 case 18:
6739 case 16: {
6740 enforcementLiteral_.AddEntriesFrom(ref input, _repeated_enforcementLiteral_codec);
6741 break;
6742 }
6743 case 26: {
6744 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6745 if (constraintCase_ == ConstraintOneofCase.BoolOr) {
6746 subBuilder.MergeFrom(BoolOr);
6747 }
6748 input.ReadMessage(subBuilder);
6749 BoolOr = subBuilder;
6750 break;
6751 }
6752 case 34: {
6753 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6754 if (constraintCase_ == ConstraintOneofCase.BoolAnd) {
6755 subBuilder.MergeFrom(BoolAnd);
6756 }
6757 input.ReadMessage(subBuilder);
6758 BoolAnd = subBuilder;
6759 break;
6760 }
6761 case 42: {
6762 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6763 if (constraintCase_ == ConstraintOneofCase.BoolXor) {
6764 subBuilder.MergeFrom(BoolXor);
6765 }
6766 input.ReadMessage(subBuilder);
6767 BoolXor = subBuilder;
6768 break;
6769 }
6770 case 58: {
6771 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6772 if (constraintCase_ == ConstraintOneofCase.IntDiv) {
6773 subBuilder.MergeFrom(IntDiv);
6774 }
6775 input.ReadMessage(subBuilder);
6776 IntDiv = subBuilder;
6777 break;
6778 }
6779 case 66: {
6780 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6781 if (constraintCase_ == ConstraintOneofCase.IntMod) {
6782 subBuilder.MergeFrom(IntMod);
6783 }
6784 input.ReadMessage(subBuilder);
6785 IntMod = subBuilder;
6786 break;
6787 }
6788 case 90: {
6789 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6790 if (constraintCase_ == ConstraintOneofCase.IntProd) {
6791 subBuilder.MergeFrom(IntProd);
6792 }
6793 input.ReadMessage(subBuilder);
6794 IntProd = subBuilder;
6795 break;
6796 }
6797 case 98: {
6798 global::Google.OrTools.Sat.LinearConstraintProto subBuilder = new global::Google.OrTools.Sat.LinearConstraintProto();
6799 if (constraintCase_ == ConstraintOneofCase.Linear) {
6800 subBuilder.MergeFrom(Linear);
6801 }
6802 input.ReadMessage(subBuilder);
6803 Linear = subBuilder;
6804 break;
6805 }
6806 case 106: {
6807 global::Google.OrTools.Sat.AllDifferentConstraintProto subBuilder = new global::Google.OrTools.Sat.AllDifferentConstraintProto();
6808 if (constraintCase_ == ConstraintOneofCase.AllDiff) {
6809 subBuilder.MergeFrom(AllDiff);
6810 }
6811 input.ReadMessage(subBuilder);
6812 AllDiff = subBuilder;
6813 break;
6814 }
6815 case 114: {
6816 global::Google.OrTools.Sat.ElementConstraintProto subBuilder = new global::Google.OrTools.Sat.ElementConstraintProto();
6817 if (constraintCase_ == ConstraintOneofCase.Element) {
6818 subBuilder.MergeFrom(Element);
6819 }
6820 input.ReadMessage(subBuilder);
6821 Element = subBuilder;
6822 break;
6823 }
6824 case 122: {
6825 global::Google.OrTools.Sat.CircuitConstraintProto subBuilder = new global::Google.OrTools.Sat.CircuitConstraintProto();
6826 if (constraintCase_ == ConstraintOneofCase.Circuit) {
6827 subBuilder.MergeFrom(Circuit);
6828 }
6829 input.ReadMessage(subBuilder);
6830 Circuit = subBuilder;
6831 break;
6832 }
6833 case 130: {
6834 global::Google.OrTools.Sat.TableConstraintProto subBuilder = new global::Google.OrTools.Sat.TableConstraintProto();
6835 if (constraintCase_ == ConstraintOneofCase.Table) {
6836 subBuilder.MergeFrom(Table);
6837 }
6838 input.ReadMessage(subBuilder);
6839 Table = subBuilder;
6840 break;
6841 }
6842 case 138: {
6843 global::Google.OrTools.Sat.AutomatonConstraintProto subBuilder = new global::Google.OrTools.Sat.AutomatonConstraintProto();
6844 if (constraintCase_ == ConstraintOneofCase.Automaton) {
6845 subBuilder.MergeFrom(Automaton);
6846 }
6847 input.ReadMessage(subBuilder);
6848 Automaton = subBuilder;
6849 break;
6850 }
6851 case 146: {
6852 global::Google.OrTools.Sat.InverseConstraintProto subBuilder = new global::Google.OrTools.Sat.InverseConstraintProto();
6853 if (constraintCase_ == ConstraintOneofCase.Inverse) {
6854 subBuilder.MergeFrom(Inverse);
6855 }
6856 input.ReadMessage(subBuilder);
6857 Inverse = subBuilder;
6858 break;
6859 }
6860 case 154: {
6861 global::Google.OrTools.Sat.IntervalConstraintProto subBuilder = new global::Google.OrTools.Sat.IntervalConstraintProto();
6862 if (constraintCase_ == ConstraintOneofCase.Interval) {
6863 subBuilder.MergeFrom(Interval);
6864 }
6865 input.ReadMessage(subBuilder);
6866 Interval = subBuilder;
6867 break;
6868 }
6869 case 162: {
6870 global::Google.OrTools.Sat.NoOverlapConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlapConstraintProto();
6871 if (constraintCase_ == ConstraintOneofCase.NoOverlap) {
6872 subBuilder.MergeFrom(NoOverlap);
6873 }
6874 input.ReadMessage(subBuilder);
6875 NoOverlap = subBuilder;
6876 break;
6877 }
6878 case 170: {
6879 global::Google.OrTools.Sat.NoOverlap2DConstraintProto subBuilder = new global::Google.OrTools.Sat.NoOverlap2DConstraintProto();
6880 if (constraintCase_ == ConstraintOneofCase.NoOverlap2D) {
6881 subBuilder.MergeFrom(NoOverlap2D);
6882 }
6883 input.ReadMessage(subBuilder);
6884 NoOverlap2D = subBuilder;
6885 break;
6886 }
6887 case 178: {
6888 global::Google.OrTools.Sat.CumulativeConstraintProto subBuilder = new global::Google.OrTools.Sat.CumulativeConstraintProto();
6889 if (constraintCase_ == ConstraintOneofCase.Cumulative) {
6890 subBuilder.MergeFrom(Cumulative);
6891 }
6892 input.ReadMessage(subBuilder);
6893 Cumulative = subBuilder;
6894 break;
6895 }
6896 case 186: {
6897 global::Google.OrTools.Sat.RoutesConstraintProto subBuilder = new global::Google.OrTools.Sat.RoutesConstraintProto();
6898 if (constraintCase_ == ConstraintOneofCase.Routes) {
6899 subBuilder.MergeFrom(Routes);
6900 }
6901 input.ReadMessage(subBuilder);
6902 Routes = subBuilder;
6903 break;
6904 }
6905 case 194: {
6906 global::Google.OrTools.Sat.ReservoirConstraintProto subBuilder = new global::Google.OrTools.Sat.ReservoirConstraintProto();
6907 if (constraintCase_ == ConstraintOneofCase.Reservoir) {
6908 subBuilder.MergeFrom(Reservoir);
6909 }
6910 input.ReadMessage(subBuilder);
6911 Reservoir = subBuilder;
6912 break;
6913 }
6914 case 210: {
6915 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6916 if (constraintCase_ == ConstraintOneofCase.AtMostOne) {
6917 subBuilder.MergeFrom(AtMostOne);
6918 }
6919 input.ReadMessage(subBuilder);
6920 AtMostOne = subBuilder;
6921 break;
6922 }
6923 case 218: {
6924 global::Google.OrTools.Sat.LinearArgumentProto subBuilder = new global::Google.OrTools.Sat.LinearArgumentProto();
6925 if (constraintCase_ == ConstraintOneofCase.LinMax) {
6926 subBuilder.MergeFrom(LinMax);
6927 }
6928 input.ReadMessage(subBuilder);
6929 LinMax = subBuilder;
6930 break;
6931 }
6932 case 234: {
6933 global::Google.OrTools.Sat.BoolArgumentProto subBuilder = new global::Google.OrTools.Sat.BoolArgumentProto();
6934 if (constraintCase_ == ConstraintOneofCase.ExactlyOne) {
6935 subBuilder.MergeFrom(ExactlyOne);
6936 }
6937 input.ReadMessage(subBuilder);
6938 ExactlyOne = subBuilder;
6939 break;
6940 }
6941 case 242: {
6942 global::Google.OrTools.Sat.ListOfVariablesProto subBuilder = new global::Google.OrTools.Sat.ListOfVariablesProto();
6943 if (constraintCase_ == ConstraintOneofCase.DummyConstraint) {
6944 subBuilder.MergeFrom(DummyConstraint);
6945 }
6946 input.ReadMessage(subBuilder);
6947 DummyConstraint = subBuilder;
6948 break;
6949 }
6950 }
6951 }
6952 }
6953 #endif
6954
6955 }
6956
6960 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
6961 public sealed partial class CpObjectiveProto : pb::IMessage<CpObjectiveProto>
6962 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6963 , pb::IBufferMessage
6964 #endif
6965 {
6966 private static readonly pb::MessageParser<CpObjectiveProto> _parser = new pb::MessageParser<CpObjectiveProto>(() => new CpObjectiveProto());
6967 private pb::UnknownFieldSet _unknownFields;
6968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6970 public static pb::MessageParser<CpObjectiveProto> Parser { get { return _parser; } }
6971
6972 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6973 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6974 public static pbr::MessageDescriptor Descriptor {
6975 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[19]; }
6976 }
6977
6978 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6979 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6980 pbr::MessageDescriptor pb::IMessage.Descriptor {
6981 get { return Descriptor; }
6982 }
6983
6984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6986 public CpObjectiveProto() {
6987 OnConstruction();
6988 }
6989
6990 partial void OnConstruction();
6992 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6993 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
6994 public CpObjectiveProto(CpObjectiveProto other) : this() {
6995 vars_ = other.vars_.Clone();
6996 coeffs_ = other.coeffs_.Clone();
6997 offset_ = other.offset_;
6998 scalingFactor_ = other.scalingFactor_;
6999 domain_ = other.domain_.Clone();
7000 scalingWasExact_ = other.scalingWasExact_;
7001 integerBeforeOffset_ = other.integerBeforeOffset_;
7002 integerAfterOffset_ = other.integerAfterOffset_;
7003 integerScalingFactor_ = other.integerScalingFactor_;
7004 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
7005 }
7006
7007 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7008 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7009 public CpObjectiveProto Clone() {
7010 return new CpObjectiveProto(this);
7011 }
7012
7014 public const int VarsFieldNumber = 1;
7015 private static readonly pb::FieldCodec<int> _repeated_vars_codec
7016 = pb::FieldCodec.ForInt32(10);
7017 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
7019
7023 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7024 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7025 public pbc::RepeatedField<int> Vars {
7026 get { return vars_; }
7027 }
7028
7030 public const int CoeffsFieldNumber = 4;
7031 private static readonly pb::FieldCodec<long> _repeated_coeffs_codec
7032 = pb::FieldCodec.ForInt64(34);
7033 private readonly pbc::RepeatedField<long> coeffs_ = new pbc::RepeatedField<long>();
7034 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7035 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7036 public pbc::RepeatedField<long> Coeffs {
7037 get { return coeffs_; }
7038 }
7041 public const int OffsetFieldNumber = 2;
7042 private double offset_;
7052 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7053 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7054 public double Offset {
7055 get { return offset_; }
7056 set {
7057 offset_ = value;
7058 }
7059 }
7062 public const int ScalingFactorFieldNumber = 3;
7063 private double scalingFactor_;
7064 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7065 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7066 public double ScalingFactor {
7067 get { return scalingFactor_; }
7068 set {
7069 scalingFactor_ = value;
7070 }
7072
7074 public const int DomainFieldNumber = 5;
7075 private static readonly pb::FieldCodec<long> _repeated_domain_codec
7076 = pb::FieldCodec.ForInt64(42);
7077 private readonly pbc::RepeatedField<long> domain_ = new pbc::RepeatedField<long>();
7083 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7084 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7085 public pbc::RepeatedField<long> Domain {
7086 get { return domain_; }
7087 }
7088
7090 public const int ScalingWasExactFieldNumber = 6;
7091 private bool scalingWasExact_;
7097 /// TODO(user): Put the error bounds we computed instead?
7098 /// </summary>
7099 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7100 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7101 public bool ScalingWasExact {
7102 get { return scalingWasExact_; }
7103 set {
7104 scalingWasExact_ = value;
7106 }
7107
7109 public const int IntegerBeforeOffsetFieldNumber = 7;
7110 private long integerBeforeOffset_;
7116 /// that will also always fit on an int64.
7117 ///
7118 /// The two domain will always be linked with an affine transformation between
7119 /// the two of the form:
7120 /// old = (new + before_offset) * integer_scaling_factor + after_offset.
7121 /// Note that we use both offsets to always be able to do the computation while
7122 /// staying in the int64 domain. In particular, the after_offset will always
7123 /// be in (-integer_scaling_factor, integer_scaling_factor).
7124 /// </summary>
7125 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7126 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7127 public long IntegerBeforeOffset {
7128 get { return integerBeforeOffset_; }
7129 set {
7130 integerBeforeOffset_ = value;
7131 }
7132 }
7135 public const int IntegerAfterOffsetFieldNumber = 9;
7136 private long integerAfterOffset_;
7137 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7138 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7139 public long IntegerAfterOffset {
7140 get { return integerAfterOffset_; }
7141 set {
7142 integerAfterOffset_ = value;
7143 }
7144 }
7145
7147 public const int IntegerScalingFactorFieldNumber = 8;
7148 private long integerScalingFactor_;
7149 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7150 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7151 public long IntegerScalingFactor {
7152 get { return integerScalingFactor_; }
7153 set {
7154 integerScalingFactor_ = value;
7155 }
7156 }
7157
7158 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7159 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7160 public override bool Equals(object other) {
7161 return Equals(other as CpObjectiveProto);
7162 }
7163
7164 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7165 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7166 public bool Equals(CpObjectiveProto other) {
7167 if (ReferenceEquals(other, null)) {
7168 return false;
7169 }
7170 if (ReferenceEquals(other, this)) {
7171 return true;
7173 if(!vars_.Equals(other.vars_)) return false;
7174 if(!coeffs_.Equals(other.coeffs_)) return false;
7175 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Offset, other.Offset)) return false;
7176 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ScalingFactor, other.ScalingFactor)) return false;
7177 if(!domain_.Equals(other.domain_)) return false;
7178 if (ScalingWasExact != other.ScalingWasExact) return false;
7179 if (IntegerBeforeOffset != other.IntegerBeforeOffset) return false;
7180 if (IntegerAfterOffset != other.IntegerAfterOffset) return false;
7181 if (IntegerScalingFactor != other.IntegerScalingFactor) return false;
7182 return Equals(_unknownFields, other._unknownFields);
7183 }
7185 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7186 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7187 public override int GetHashCode() {
7188 int hash = 1;
7189 hash ^= vars_.GetHashCode();
7190 hash ^= coeffs_.GetHashCode();
7191 if (Offset != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Offset);
7192 if (ScalingFactor != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ScalingFactor);
7193 hash ^= domain_.GetHashCode();
7194 if (ScalingWasExact != false) hash ^= ScalingWasExact.GetHashCode();
7195 if (IntegerBeforeOffset != 0L) hash ^= IntegerBeforeOffset.GetHashCode();
7196 if (IntegerAfterOffset != 0L) hash ^= IntegerAfterOffset.GetHashCode();
7197 if (IntegerScalingFactor != 0L) hash ^= IntegerScalingFactor.GetHashCode();
7198 if (_unknownFields != null) {
7199 hash ^= _unknownFields.GetHashCode();
7200 }
7201 return hash;
7202 }
7203
7204 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7205 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7206 public override string ToString() {
7207 return pb::JsonFormatter.ToDiagnosticString(this);
7208 }
7209
7210 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7211 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7212 public void WriteTo(pb::CodedOutputStream output) {
7213 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7214 output.WriteRawMessage(this);
7215 #else
7216 vars_.WriteTo(output, _repeated_vars_codec);
7217 if (Offset != 0D) {
7218 output.WriteRawTag(17);
7219 output.WriteDouble(Offset);
7221 if (ScalingFactor != 0D) {
7222 output.WriteRawTag(25);
7223 output.WriteDouble(ScalingFactor);
7224 }
7225 coeffs_.WriteTo(output, _repeated_coeffs_codec);
7226 domain_.WriteTo(output, _repeated_domain_codec);
7227 if (ScalingWasExact != false) {
7228 output.WriteRawTag(48);
7229 output.WriteBool(ScalingWasExact);
7230 }
7231 if (IntegerBeforeOffset != 0L) {
7232 output.WriteRawTag(56);
7233 output.WriteInt64(IntegerBeforeOffset);
7234 }
7235 if (IntegerScalingFactor != 0L) {
7236 output.WriteRawTag(64);
7237 output.WriteInt64(IntegerScalingFactor);
7238 }
7240 output.WriteRawTag(72);
7241 output.WriteInt64(IntegerAfterOffset);
7242 }
7243 if (_unknownFields != null) {
7244 _unknownFields.WriteTo(output);
7246 #endif
7247 }
7248
7249 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7250 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7251 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7252 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
7253 vars_.WriteTo(ref output, _repeated_vars_codec);
7254 if (Offset != 0D) {
7255 output.WriteRawTag(17);
7256 output.WriteDouble(Offset);
7257 }
7258 if (ScalingFactor != 0D) {
7259 output.WriteRawTag(25);
7260 output.WriteDouble(ScalingFactor);
7261 }
7262 coeffs_.WriteTo(ref output, _repeated_coeffs_codec);
7263 domain_.WriteTo(ref output, _repeated_domain_codec);
7264 if (ScalingWasExact != false) {
7265 output.WriteRawTag(48);
7266 output.WriteBool(ScalingWasExact);
7267 }
7268 if (IntegerBeforeOffset != 0L) {
7269 output.WriteRawTag(56);
7270 output.WriteInt64(IntegerBeforeOffset);
7271 }
7272 if (IntegerScalingFactor != 0L) {
7273 output.WriteRawTag(64);
7274 output.WriteInt64(IntegerScalingFactor);
7275 }
7276 if (IntegerAfterOffset != 0L) {
7277 output.WriteRawTag(72);
7278 output.WriteInt64(IntegerAfterOffset);
7279 }
7280 if (_unknownFields != null) {
7281 _unknownFields.WriteTo(ref output);
7282 }
7283 }
7284 #endif
7285
7286 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7287 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7288 public int CalculateSize() {
7289 int size = 0;
7290 size += vars_.CalculateSize(_repeated_vars_codec);
7291 size += coeffs_.CalculateSize(_repeated_coeffs_codec);
7292 if (Offset != 0D) {
7293 size += 1 + 8;
7294 }
7295 if (ScalingFactor != 0D) {
7296 size += 1 + 8;
7297 }
7298 size += domain_.CalculateSize(_repeated_domain_codec);
7299 if (ScalingWasExact != false) {
7300 size += 1 + 1;
7301 }
7302 if (IntegerBeforeOffset != 0L) {
7303 size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntegerBeforeOffset);
7304 }
7305 if (IntegerAfterOffset != 0L) {
7306 size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntegerAfterOffset);
7307 }
7308 if (IntegerScalingFactor != 0L) {
7309 size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntegerScalingFactor);
7310 }
7311 if (_unknownFields != null) {
7312 size += _unknownFields.CalculateSize();
7313 }
7314 return size;
7315 }
7316
7317 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7318 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7319 public void MergeFrom(CpObjectiveProto other) {
7320 if (other == null) {
7321 return;
7322 }
7323 vars_.Add(other.vars_);
7324 coeffs_.Add(other.coeffs_);
7325 if (other.Offset != 0D) {
7326 Offset = other.Offset;
7327 }
7328 if (other.ScalingFactor != 0D) {
7329 ScalingFactor = other.ScalingFactor;
7330 }
7331 domain_.Add(other.domain_);
7332 if (other.ScalingWasExact != false) {
7333 ScalingWasExact = other.ScalingWasExact;
7334 }
7335 if (other.IntegerBeforeOffset != 0L) {
7336 IntegerBeforeOffset = other.IntegerBeforeOffset;
7337 }
7338 if (other.IntegerAfterOffset != 0L) {
7339 IntegerAfterOffset = other.IntegerAfterOffset;
7340 }
7341 if (other.IntegerScalingFactor != 0L) {
7342 IntegerScalingFactor = other.IntegerScalingFactor;
7343 }
7344 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
7345 }
7346
7347 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7348 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7349 public void MergeFrom(pb::CodedInputStream input) {
7350 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7351 input.ReadRawMessage(this);
7352 #else
7353 uint tag;
7354 while ((tag = input.ReadTag()) != 0) {
7355 if ((tag & 7) == 4) {
7356 // Abort on any end group tag.
7357 return;
7358 }
7359 switch(tag) {
7360 default:
7361 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
7362 break;
7363 case 10:
7364 case 8: {
7365 vars_.AddEntriesFrom(input, _repeated_vars_codec);
7366 break;
7367 }
7368 case 17: {
7369 Offset = input.ReadDouble();
7370 break;
7371 }
7372 case 25: {
7373 ScalingFactor = input.ReadDouble();
7374 break;
7375 }
7376 case 34:
7377 case 32: {
7378 coeffs_.AddEntriesFrom(input, _repeated_coeffs_codec);
7379 break;
7380 }
7381 case 42:
7382 case 40: {
7383 domain_.AddEntriesFrom(input, _repeated_domain_codec);
7384 break;
7385 }
7386 case 48: {
7387 ScalingWasExact = input.ReadBool();
7388 break;
7389 }
7390 case 56: {
7391 IntegerBeforeOffset = input.ReadInt64();
7392 break;
7393 }
7394 case 64: {
7395 IntegerScalingFactor = input.ReadInt64();
7396 break;
7397 }
7398 case 72: {
7399 IntegerAfterOffset = input.ReadInt64();
7400 break;
7401 }
7402 }
7403 }
7404 #endif
7405 }
7406
7407 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7408 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7409 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7410 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
7411 uint tag;
7412 while ((tag = input.ReadTag()) != 0) {
7413 if ((tag & 7) == 4) {
7414 // Abort on any end group tag.
7415 return;
7416 }
7417 switch(tag) {
7418 default:
7419 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
7420 break;
7421 case 10:
7422 case 8: {
7423 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
7424 break;
7425 }
7426 case 17: {
7427 Offset = input.ReadDouble();
7428 break;
7429 }
7430 case 25: {
7431 ScalingFactor = input.ReadDouble();
7432 break;
7433 }
7434 case 34:
7435 case 32: {
7436 coeffs_.AddEntriesFrom(ref input, _repeated_coeffs_codec);
7437 break;
7438 }
7439 case 42:
7440 case 40: {
7441 domain_.AddEntriesFrom(ref input, _repeated_domain_codec);
7442 break;
7443 }
7444 case 48: {
7445 ScalingWasExact = input.ReadBool();
7446 break;
7447 }
7448 case 56: {
7449 IntegerBeforeOffset = input.ReadInt64();
7450 break;
7451 }
7452 case 64: {
7453 IntegerScalingFactor = input.ReadInt64();
7454 break;
7455 }
7456 case 72: {
7457 IntegerAfterOffset = input.ReadInt64();
7458 break;
7459 }
7460 }
7461 }
7462 }
7463 #endif
7464
7465 }
7466
7471 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
7472 public sealed partial class FloatObjectiveProto : pb::IMessage<FloatObjectiveProto>
7473 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7474 , pb::IBufferMessage
7475 #endif
7476 {
7477 private static readonly pb::MessageParser<FloatObjectiveProto> _parser = new pb::MessageParser<FloatObjectiveProto>(() => new FloatObjectiveProto());
7478 private pb::UnknownFieldSet _unknownFields;
7479 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7480 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7481 public static pb::MessageParser<FloatObjectiveProto> Parser { get { return _parser; } }
7482
7483 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7484 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7485 public static pbr::MessageDescriptor Descriptor {
7486 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[20]; }
7487 }
7488
7489 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7490 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7491 pbr::MessageDescriptor pb::IMessage.Descriptor {
7492 get { return Descriptor; }
7493 }
7494
7495 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7496 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7497 public FloatObjectiveProto() {
7498 OnConstruction();
7499 }
7500
7501 partial void OnConstruction();
7502
7503 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7504 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7506 vars_ = other.vars_.Clone();
7507 coeffs_ = other.coeffs_.Clone();
7508 offset_ = other.offset_;
7509 maximize_ = other.maximize_;
7510 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
7511 }
7512
7513 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7514 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7515 public FloatObjectiveProto Clone() {
7516 return new FloatObjectiveProto(this);
7517 }
7520 public const int VarsFieldNumber = 1;
7521 private static readonly pb::FieldCodec<int> _repeated_vars_codec
7522 = pb::FieldCodec.ForInt32(10);
7523 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
7524 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7525 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7526 public pbc::RepeatedField<int> Vars {
7527 get { return vars_; }
7528 }
7529
7530 /// <summary>Field number for the "coeffs" field.</summary>
7531 public const int CoeffsFieldNumber = 2;
7532 private static readonly pb::FieldCodec<double> _repeated_coeffs_codec
7533 = pb::FieldCodec.ForDouble(18);
7534 private readonly pbc::RepeatedField<double> coeffs_ = new pbc::RepeatedField<double>();
7535 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7536 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7537 public pbc::RepeatedField<double> Coeffs {
7538 get { return coeffs_; }
7539 }
7540
7542 public const int OffsetFieldNumber = 3;
7543 private double offset_;
7544 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7545 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7546 public double Offset {
7547 get { return offset_; }
7548 set {
7549 offset_ = value;
7550 }
7551 }
7552
7554 public const int MaximizeFieldNumber = 4;
7555 private bool maximize_;
7559 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7560 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7561 public bool Maximize {
7562 get { return maximize_; }
7563 set {
7564 maximize_ = value;
7565 }
7566 }
7567
7568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7570 public override bool Equals(object other) {
7571 return Equals(other as FloatObjectiveProto);
7572 }
7573
7574 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7575 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7576 public bool Equals(FloatObjectiveProto other) {
7577 if (ReferenceEquals(other, null)) {
7578 return false;
7580 if (ReferenceEquals(other, this)) {
7581 return true;
7582 }
7583 if(!vars_.Equals(other.vars_)) return false;
7584 if(!coeffs_.Equals(other.coeffs_)) return false;
7585 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Offset, other.Offset)) return false;
7586 if (Maximize != other.Maximize) return false;
7587 return Equals(_unknownFields, other._unknownFields);
7588 }
7589
7590 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7591 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7592 public override int GetHashCode() {
7593 int hash = 1;
7594 hash ^= vars_.GetHashCode();
7595 hash ^= coeffs_.GetHashCode();
7596 if (Offset != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Offset);
7597 if (Maximize != false) hash ^= Maximize.GetHashCode();
7598 if (_unknownFields != null) {
7599 hash ^= _unknownFields.GetHashCode();
7600 }
7601 return hash;
7602 }
7604 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7605 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7606 public override string ToString() {
7607 return pb::JsonFormatter.ToDiagnosticString(this);
7608 }
7610 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7611 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7612 public void WriteTo(pb::CodedOutputStream output) {
7613 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7614 output.WriteRawMessage(this);
7615 #else
7616 vars_.WriteTo(output, _repeated_vars_codec);
7617 coeffs_.WriteTo(output, _repeated_coeffs_codec);
7618 if (Offset != 0D) {
7619 output.WriteRawTag(25);
7620 output.WriteDouble(Offset);
7621 }
7622 if (Maximize != false) {
7623 output.WriteRawTag(32);
7624 output.WriteBool(Maximize);
7626 if (_unknownFields != null) {
7627 _unknownFields.WriteTo(output);
7628 }
7629 #endif
7630 }
7631
7632 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7633 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7634 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7635 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
7636 vars_.WriteTo(ref output, _repeated_vars_codec);
7637 coeffs_.WriteTo(ref output, _repeated_coeffs_codec);
7638 if (Offset != 0D) {
7639 output.WriteRawTag(25);
7640 output.WriteDouble(Offset);
7641 }
7642 if (Maximize != false) {
7643 output.WriteRawTag(32);
7644 output.WriteBool(Maximize);
7646 if (_unknownFields != null) {
7647 _unknownFields.WriteTo(ref output);
7648 }
7649 }
7650 #endif
7651
7652 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7653 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7654 public int CalculateSize() {
7655 int size = 0;
7656 size += vars_.CalculateSize(_repeated_vars_codec);
7657 size += coeffs_.CalculateSize(_repeated_coeffs_codec);
7658 if (Offset != 0D) {
7659 size += 1 + 8;
7660 }
7661 if (Maximize != false) {
7662 size += 1 + 1;
7663 }
7664 if (_unknownFields != null) {
7665 size += _unknownFields.CalculateSize();
7666 }
7667 return size;
7668 }
7669
7670 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7671 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7672 public void MergeFrom(FloatObjectiveProto other) {
7673 if (other == null) {
7674 return;
7675 }
7676 vars_.Add(other.vars_);
7677 coeffs_.Add(other.coeffs_);
7678 if (other.Offset != 0D) {
7679 Offset = other.Offset;
7680 }
7681 if (other.Maximize != false) {
7682 Maximize = other.Maximize;
7683 }
7684 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
7685 }
7686
7687 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7688 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7689 public void MergeFrom(pb::CodedInputStream input) {
7690 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7691 input.ReadRawMessage(this);
7692 #else
7693 uint tag;
7694 while ((tag = input.ReadTag()) != 0) {
7695 if ((tag & 7) == 4) {
7696 // Abort on any end group tag.
7697 return;
7698 }
7699 switch(tag) {
7700 default:
7701 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
7702 break;
7703 case 10:
7704 case 8: {
7705 vars_.AddEntriesFrom(input, _repeated_vars_codec);
7706 break;
7707 }
7708 case 18:
7709 case 17: {
7710 coeffs_.AddEntriesFrom(input, _repeated_coeffs_codec);
7711 break;
7712 }
7713 case 25: {
7714 Offset = input.ReadDouble();
7715 break;
7716 }
7717 case 32: {
7718 Maximize = input.ReadBool();
7719 break;
7720 }
7721 }
7723 #endif
7724 }
7725
7726 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7727 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7728 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7729 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
7730 uint tag;
7731 while ((tag = input.ReadTag()) != 0) {
7732 if ((tag & 7) == 4) {
7733 // Abort on any end group tag.
7734 return;
7735 }
7736 switch(tag) {
7737 default:
7738 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
7739 break;
7740 case 10:
7741 case 8: {
7742 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
7743 break;
7744 }
7745 case 18:
7746 case 17: {
7747 coeffs_.AddEntriesFrom(ref input, _repeated_coeffs_codec);
7748 break;
7749 }
7750 case 25: {
7751 Offset = input.ReadDouble();
7752 break;
7753 }
7754 case 32: {
7755 Maximize = input.ReadBool();
7756 break;
7757 }
7758 }
7759 }
7760 }
7761 #endif
7762
7763 }
7764
7769 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
7770 public sealed partial class DecisionStrategyProto : pb::IMessage<DecisionStrategyProto>
7771 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7772 , pb::IBufferMessage
7773 #endif
7774 {
7775 private static readonly pb::MessageParser<DecisionStrategyProto> _parser = new pb::MessageParser<DecisionStrategyProto>(() => new DecisionStrategyProto());
7776 private pb::UnknownFieldSet _unknownFields;
7777 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7778 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7779 public static pb::MessageParser<DecisionStrategyProto> Parser { get { return _parser; } }
7780
7781 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7782 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7783 public static pbr::MessageDescriptor Descriptor {
7784 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[21]; }
7785 }
7786
7787 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7788 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7789 pbr::MessageDescriptor pb::IMessage.Descriptor {
7790 get { return Descriptor; }
7791 }
7792
7793 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7794 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7795 public DecisionStrategyProto() {
7796 OnConstruction();
7797 }
7798
7799 partial void OnConstruction();
7800
7801 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7802 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7804 variables_ = other.variables_.Clone();
7805 exprs_ = other.exprs_.Clone();
7806 variableSelectionStrategy_ = other.variableSelectionStrategy_;
7807 domainReductionStrategy_ = other.domainReductionStrategy_;
7808 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
7809 }
7810
7811 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7812 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7813 public DecisionStrategyProto Clone() {
7814 return new DecisionStrategyProto(this);
7815 }
7818 public const int VariablesFieldNumber = 1;
7819 private static readonly pb::FieldCodec<int> _repeated_variables_codec
7820 = pb::FieldCodec.ForInt32(10);
7821 private readonly pbc::RepeatedField<int> variables_ = new pbc::RepeatedField<int>();
7827 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7828 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7829 public pbc::RepeatedField<int> Variables {
7830 get { return variables_; }
7831 }
7832
7834 public const int ExprsFieldNumber = 5;
7835 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.LinearExpressionProto> _repeated_exprs_codec
7836 = pb::FieldCodec.ForMessage(42, global::Google.OrTools.Sat.LinearExpressionProto.Parser);
7837 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> exprs_ = new pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto>();
7843
7846 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7847 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7848 public pbc::RepeatedField<global::Google.OrTools.Sat.LinearExpressionProto> Exprs {
7849 get { return exprs_; }
7850 }
7853 public const int VariableSelectionStrategyFieldNumber = 2;
7854 private global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy variableSelectionStrategy_ = global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst;
7855 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7856 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7857 public global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy VariableSelectionStrategy {
7858 get { return variableSelectionStrategy_; }
7859 set {
7860 variableSelectionStrategy_ = value;
7861 }
7863
7865 public const int DomainReductionStrategyFieldNumber = 3;
7866 private global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy domainReductionStrategy_ = global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue;
7867 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7868 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7869 public global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy DomainReductionStrategy {
7870 get { return domainReductionStrategy_; }
7871 set {
7872 domainReductionStrategy_ = value;
7873 }
7874 }
7875
7876 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7877 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7878 public override bool Equals(object other) {
7879 return Equals(other as DecisionStrategyProto);
7880 }
7881
7882 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7883 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7884 public bool Equals(DecisionStrategyProto other) {
7885 if (ReferenceEquals(other, null)) {
7886 return false;
7888 if (ReferenceEquals(other, this)) {
7889 return true;
7890 }
7891 if(!variables_.Equals(other.variables_)) return false;
7892 if(!exprs_.Equals(other.exprs_)) return false;
7893 if (VariableSelectionStrategy != other.VariableSelectionStrategy) return false;
7894 if (DomainReductionStrategy != other.DomainReductionStrategy) return false;
7895 return Equals(_unknownFields, other._unknownFields);
7896 }
7897
7898 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7899 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7900 public override int GetHashCode() {
7901 int hash = 1;
7902 hash ^= variables_.GetHashCode();
7903 hash ^= exprs_.GetHashCode();
7905 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) hash ^= DomainReductionStrategy.GetHashCode();
7906 if (_unknownFields != null) {
7907 hash ^= _unknownFields.GetHashCode();
7908 }
7909 return hash;
7910 }
7911
7912 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7913 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7914 public override string ToString() {
7915 return pb::JsonFormatter.ToDiagnosticString(this);
7916 }
7917
7918 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7919 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7920 public void WriteTo(pb::CodedOutputStream output) {
7921 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7922 output.WriteRawMessage(this);
7923 #else
7924 variables_.WriteTo(output, _repeated_variables_codec);
7926 output.WriteRawTag(16);
7927 output.WriteEnum((int) VariableSelectionStrategy);
7928 }
7930 output.WriteRawTag(24);
7931 output.WriteEnum((int) DomainReductionStrategy);
7932 }
7933 exprs_.WriteTo(output, _repeated_exprs_codec);
7934 if (_unknownFields != null) {
7935 _unknownFields.WriteTo(output);
7936 }
7937 #endif
7938 }
7939
7940 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7941 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7942 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7943 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
7944 variables_.WriteTo(ref output, _repeated_variables_codec);
7945 if (VariableSelectionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst) {
7946 output.WriteRawTag(16);
7947 output.WriteEnum((int) VariableSelectionStrategy);
7949 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7950 output.WriteRawTag(24);
7951 output.WriteEnum((int) DomainReductionStrategy);
7952 }
7953 exprs_.WriteTo(ref output, _repeated_exprs_codec);
7954 if (_unknownFields != null) {
7955 _unknownFields.WriteTo(ref output);
7956 }
7957 }
7958 #endif
7959
7960 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7961 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7962 public int CalculateSize() {
7963 int size = 0;
7964 size += variables_.CalculateSize(_repeated_variables_codec);
7965 size += exprs_.CalculateSize(_repeated_exprs_codec);
7966 if (VariableSelectionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst) {
7967 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) VariableSelectionStrategy);
7968 }
7969 if (DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7970 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DomainReductionStrategy);
7971 }
7972 if (_unknownFields != null) {
7973 size += _unknownFields.CalculateSize();
7974 }
7975 return size;
7976 }
7977
7978 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7979 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7980 public void MergeFrom(DecisionStrategyProto other) {
7981 if (other == null) {
7982 return;
7983 }
7984 variables_.Add(other.variables_);
7985 exprs_.Add(other.exprs_);
7986 if (other.VariableSelectionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy.ChooseFirst) {
7987 VariableSelectionStrategy = other.VariableSelectionStrategy;
7988 }
7989 if (other.DomainReductionStrategy != global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy.SelectMinValue) {
7990 DomainReductionStrategy = other.DomainReductionStrategy;
7991 }
7992 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
7993 }
7994
7995 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
7996 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
7997 public void MergeFrom(pb::CodedInputStream input) {
7998 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
7999 input.ReadRawMessage(this);
8000 #else
8001 uint tag;
8002 while ((tag = input.ReadTag()) != 0) {
8003 if ((tag & 7) == 4) {
8004 // Abort on any end group tag.
8005 return;
8006 }
8007 switch(tag) {
8008 default:
8009 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8010 break;
8011 case 10:
8012 case 8: {
8013 variables_.AddEntriesFrom(input, _repeated_variables_codec);
8014 break;
8015 }
8016 case 16: {
8017 VariableSelectionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy) input.ReadEnum();
8018 break;
8019 }
8020 case 24: {
8021 DomainReductionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy) input.ReadEnum();
8022 break;
8023 }
8024 case 42: {
8025 exprs_.AddEntriesFrom(input, _repeated_exprs_codec);
8026 break;
8027 }
8028 }
8029 }
8030 #endif
8032
8033 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8034 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8035 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8036 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8037 uint tag;
8038 while ((tag = input.ReadTag()) != 0) {
8039 if ((tag & 7) == 4) {
8040 // Abort on any end group tag.
8041 return;
8042 }
8043 switch(tag) {
8044 default:
8045 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8046 break;
8047 case 10:
8048 case 8: {
8049 variables_.AddEntriesFrom(ref input, _repeated_variables_codec);
8050 break;
8051 }
8052 case 16: {
8053 VariableSelectionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy) input.ReadEnum();
8054 break;
8055 }
8056 case 24: {
8057 DomainReductionStrategy = (global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy) input.ReadEnum();
8058 break;
8059 }
8060 case 42: {
8061 exprs_.AddEntriesFrom(ref input, _repeated_exprs_codec);
8062 break;
8063 }
8064 }
8065 }
8066 }
8067 #endif
8068
8069 #region Nested types
8071 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8072 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8073 public static partial class Types {
8081 public enum VariableSelectionStrategy {
8082 [pbr::OriginalName("CHOOSE_FIRST")] ChooseFirst = 0,
8083 [pbr::OriginalName("CHOOSE_LOWEST_MIN")] ChooseLowestMin = 1,
8084 [pbr::OriginalName("CHOOSE_HIGHEST_MAX")] ChooseHighestMax = 2,
8085 [pbr::OriginalName("CHOOSE_MIN_DOMAIN_SIZE")] ChooseMinDomainSize = 3,
8086 [pbr::OriginalName("CHOOSE_MAX_DOMAIN_SIZE")] ChooseMaxDomainSize = 4,
8087 }
8088
8095 public enum DomainReductionStrategy {
8096 [pbr::OriginalName("SELECT_MIN_VALUE")] SelectMinValue = 0,
8097 [pbr::OriginalName("SELECT_MAX_VALUE")] SelectMaxValue = 1,
8098 [pbr::OriginalName("SELECT_LOWER_HALF")] SelectLowerHalf = 2,
8099 [pbr::OriginalName("SELECT_UPPER_HALF")] SelectUpperHalf = 3,
8100 [pbr::OriginalName("SELECT_MEDIAN_VALUE")] SelectMedianValue = 4,
8101 [pbr::OriginalName("SELECT_RANDOM_HALF")] SelectRandomHalf = 5,
8102 }
8103
8104 }
8105 #endregion
8106
8108
8114 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8115 public sealed partial class PartialVariableAssignment : pb::IMessage<PartialVariableAssignment>
8116 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8117 , pb::IBufferMessage
8118 #endif
8120 private static readonly pb::MessageParser<PartialVariableAssignment> _parser = new pb::MessageParser<PartialVariableAssignment>(() => new PartialVariableAssignment());
8121 private pb::UnknownFieldSet _unknownFields;
8122 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8123 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8124 public static pb::MessageParser<PartialVariableAssignment> Parser { get { return _parser; } }
8125
8126 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8127 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8128 public static pbr::MessageDescriptor Descriptor {
8129 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[22]; }
8130 }
8132 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8133 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8134 pbr::MessageDescriptor pb::IMessage.Descriptor {
8135 get { return Descriptor; }
8138 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8139 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8140 public PartialVariableAssignment() {
8141 OnConstruction();
8142 }
8143
8144 partial void OnConstruction();
8145
8146 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8147 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8149 vars_ = other.vars_.Clone();
8150 values_ = other.values_.Clone();
8151 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8152 }
8153
8154 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8155 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8156 public PartialVariableAssignment Clone() {
8157 return new PartialVariableAssignment(this);
8158 }
8159
8161 public const int VarsFieldNumber = 1;
8162 private static readonly pb::FieldCodec<int> _repeated_vars_codec
8163 = pb::FieldCodec.ForInt32(10);
8164 private readonly pbc::RepeatedField<int> vars_ = new pbc::RepeatedField<int>();
8165 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8166 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8167 public pbc::RepeatedField<int> Vars {
8168 get { return vars_; }
8169 }
8170
8172 public const int ValuesFieldNumber = 2;
8173 private static readonly pb::FieldCodec<long> _repeated_values_codec
8174 = pb::FieldCodec.ForInt64(18);
8175 private readonly pbc::RepeatedField<long> values_ = new pbc::RepeatedField<long>();
8176 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8177 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8178 public pbc::RepeatedField<long> Values {
8179 get { return values_; }
8180 }
8181
8182 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8183 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8184 public override bool Equals(object other) {
8185 return Equals(other as PartialVariableAssignment);
8186 }
8187
8188 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8189 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8190 public bool Equals(PartialVariableAssignment other) {
8191 if (ReferenceEquals(other, null)) {
8192 return false;
8193 }
8194 if (ReferenceEquals(other, this)) {
8195 return true;
8196 }
8197 if(!vars_.Equals(other.vars_)) return false;
8198 if(!values_.Equals(other.values_)) return false;
8199 return Equals(_unknownFields, other._unknownFields);
8200 }
8201
8202 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8203 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8204 public override int GetHashCode() {
8205 int hash = 1;
8206 hash ^= vars_.GetHashCode();
8207 hash ^= values_.GetHashCode();
8208 if (_unknownFields != null) {
8209 hash ^= _unknownFields.GetHashCode();
8210 }
8211 return hash;
8212 }
8213
8214 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8215 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8216 public override string ToString() {
8217 return pb::JsonFormatter.ToDiagnosticString(this);
8218 }
8219
8220 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8221 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8222 public void WriteTo(pb::CodedOutputStream output) {
8223 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8224 output.WriteRawMessage(this);
8225 #else
8226 vars_.WriteTo(output, _repeated_vars_codec);
8227 values_.WriteTo(output, _repeated_values_codec);
8228 if (_unknownFields != null) {
8229 _unknownFields.WriteTo(output);
8230 }
8231 #endif
8232 }
8233
8234 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8235 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8236 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8237 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8238 vars_.WriteTo(ref output, _repeated_vars_codec);
8239 values_.WriteTo(ref output, _repeated_values_codec);
8240 if (_unknownFields != null) {
8241 _unknownFields.WriteTo(ref output);
8242 }
8243 }
8244 #endif
8245
8246 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8247 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8248 public int CalculateSize() {
8249 int size = 0;
8250 size += vars_.CalculateSize(_repeated_vars_codec);
8251 size += values_.CalculateSize(_repeated_values_codec);
8252 if (_unknownFields != null) {
8253 size += _unknownFields.CalculateSize();
8254 }
8255 return size;
8256 }
8257
8258 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8259 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8260 public void MergeFrom(PartialVariableAssignment other) {
8261 if (other == null) {
8262 return;
8263 }
8264 vars_.Add(other.vars_);
8265 values_.Add(other.values_);
8266 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8267 }
8268
8269 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8270 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8271 public void MergeFrom(pb::CodedInputStream input) {
8272 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8273 input.ReadRawMessage(this);
8274 #else
8275 uint tag;
8276 while ((tag = input.ReadTag()) != 0) {
8277 if ((tag & 7) == 4) {
8278 // Abort on any end group tag.
8279 return;
8280 }
8281 switch(tag) {
8282 default:
8283 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8284 break;
8285 case 10:
8286 case 8: {
8287 vars_.AddEntriesFrom(input, _repeated_vars_codec);
8288 break;
8289 }
8290 case 18:
8291 case 16: {
8292 values_.AddEntriesFrom(input, _repeated_values_codec);
8293 break;
8294 }
8295 }
8297 #endif
8298 }
8299
8300 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8301 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8302 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8303 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8304 uint tag;
8305 while ((tag = input.ReadTag()) != 0) {
8306 if ((tag & 7) == 4) {
8307 // Abort on any end group tag.
8308 return;
8309 }
8310 switch(tag) {
8311 default:
8312 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8313 break;
8314 case 10:
8315 case 8: {
8316 vars_.AddEntriesFrom(ref input, _repeated_vars_codec);
8317 break;
8318 }
8319 case 18:
8320 case 16: {
8321 values_.AddEntriesFrom(ref input, _repeated_values_codec);
8322 break;
8323 }
8324 }
8325 }
8326 }
8327 #endif
8328
8329 }
8330
8335 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8336 public sealed partial class SparsePermutationProto : pb::IMessage<SparsePermutationProto>
8337 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8338 , pb::IBufferMessage
8339 #endif
8340 {
8341 private static readonly pb::MessageParser<SparsePermutationProto> _parser = new pb::MessageParser<SparsePermutationProto>(() => new SparsePermutationProto());
8342 private pb::UnknownFieldSet _unknownFields;
8343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8345 public static pb::MessageParser<SparsePermutationProto> Parser { get { return _parser; } }
8346
8347 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8348 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8349 public static pbr::MessageDescriptor Descriptor {
8350 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[23]; }
8351 }
8352
8353 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8354 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8355 pbr::MessageDescriptor pb::IMessage.Descriptor {
8356 get { return Descriptor; }
8357 }
8358
8359 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8360 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8361 public SparsePermutationProto() {
8362 OnConstruction();
8363 }
8364
8365 partial void OnConstruction();
8366
8367 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8368 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8369 public SparsePermutationProto(SparsePermutationProto other) : this() {
8370 support_ = other.support_.Clone();
8371 cycleSizes_ = other.cycleSizes_.Clone();
8372 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8373 }
8374
8375 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8376 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8377 public SparsePermutationProto Clone() {
8378 return new SparsePermutationProto(this);
8379 }
8380
8382 public const int SupportFieldNumber = 1;
8383 private static readonly pb::FieldCodec<int> _repeated_support_codec
8384 = pb::FieldCodec.ForInt32(10);
8385 private readonly pbc::RepeatedField<int> support_ = new pbc::RepeatedField<int>();
8388
8390 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8391 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8392 public pbc::RepeatedField<int> Support {
8393 get { return support_; }
8394 }
8395
8397 public const int CycleSizesFieldNumber = 2;
8398 private static readonly pb::FieldCodec<int> _repeated_cycleSizes_codec
8399 = pb::FieldCodec.ForInt32(18);
8400 private readonly pbc::RepeatedField<int> cycleSizes_ = new pbc::RepeatedField<int>();
8401 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8402 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8403 public pbc::RepeatedField<int> CycleSizes {
8404 get { return cycleSizes_; }
8406
8407 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8408 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8409 public override bool Equals(object other) {
8410 return Equals(other as SparsePermutationProto);
8411 }
8412
8413 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8414 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8415 public bool Equals(SparsePermutationProto other) {
8416 if (ReferenceEquals(other, null)) {
8417 return false;
8419 if (ReferenceEquals(other, this)) {
8420 return true;
8421 }
8422 if(!support_.Equals(other.support_)) return false;
8423 if(!cycleSizes_.Equals(other.cycleSizes_)) return false;
8424 return Equals(_unknownFields, other._unknownFields);
8425 }
8426
8427 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8428 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8429 public override int GetHashCode() {
8430 int hash = 1;
8431 hash ^= support_.GetHashCode();
8432 hash ^= cycleSizes_.GetHashCode();
8433 if (_unknownFields != null) {
8434 hash ^= _unknownFields.GetHashCode();
8435 }
8436 return hash;
8437 }
8438
8439 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8440 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8441 public override string ToString() {
8442 return pb::JsonFormatter.ToDiagnosticString(this);
8443 }
8444
8445 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8446 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8447 public void WriteTo(pb::CodedOutputStream output) {
8448 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8449 output.WriteRawMessage(this);
8450 #else
8451 support_.WriteTo(output, _repeated_support_codec);
8452 cycleSizes_.WriteTo(output, _repeated_cycleSizes_codec);
8453 if (_unknownFields != null) {
8454 _unknownFields.WriteTo(output);
8455 }
8456 #endif
8457 }
8458
8459 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8460 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8461 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8462 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8463 support_.WriteTo(ref output, _repeated_support_codec);
8464 cycleSizes_.WriteTo(ref output, _repeated_cycleSizes_codec);
8465 if (_unknownFields != null) {
8466 _unknownFields.WriteTo(ref output);
8467 }
8468 }
8469 #endif
8470
8471 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8472 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8473 public int CalculateSize() {
8474 int size = 0;
8475 size += support_.CalculateSize(_repeated_support_codec);
8476 size += cycleSizes_.CalculateSize(_repeated_cycleSizes_codec);
8477 if (_unknownFields != null) {
8478 size += _unknownFields.CalculateSize();
8479 }
8480 return size;
8481 }
8482
8483 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8484 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8485 public void MergeFrom(SparsePermutationProto other) {
8486 if (other == null) {
8487 return;
8488 }
8489 support_.Add(other.support_);
8490 cycleSizes_.Add(other.cycleSizes_);
8491 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8492 }
8493
8494 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8495 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8496 public void MergeFrom(pb::CodedInputStream input) {
8497 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8498 input.ReadRawMessage(this);
8499 #else
8500 uint tag;
8501 while ((tag = input.ReadTag()) != 0) {
8502 if ((tag & 7) == 4) {
8503 // Abort on any end group tag.
8504 return;
8505 }
8506 switch(tag) {
8507 default:
8508 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8509 break;
8510 case 10:
8511 case 8: {
8512 support_.AddEntriesFrom(input, _repeated_support_codec);
8513 break;
8514 }
8515 case 18:
8516 case 16: {
8517 cycleSizes_.AddEntriesFrom(input, _repeated_cycleSizes_codec);
8518 break;
8519 }
8520 }
8522 #endif
8523 }
8524
8525 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8526 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8527 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8528 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8529 uint tag;
8530 while ((tag = input.ReadTag()) != 0) {
8531 if ((tag & 7) == 4) {
8532 // Abort on any end group tag.
8533 return;
8534 }
8535 switch(tag) {
8536 default:
8537 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8538 break;
8539 case 10:
8540 case 8: {
8541 support_.AddEntriesFrom(ref input, _repeated_support_codec);
8542 break;
8543 }
8544 case 18:
8545 case 16: {
8546 cycleSizes_.AddEntriesFrom(ref input, _repeated_cycleSizes_codec);
8547 break;
8548 }
8549 }
8550 }
8551 }
8552 #endif
8553
8554 }
8555
8560 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8561 public sealed partial class DenseMatrixProto : pb::IMessage<DenseMatrixProto>
8562 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8563 , pb::IBufferMessage
8564 #endif
8565 {
8566 private static readonly pb::MessageParser<DenseMatrixProto> _parser = new pb::MessageParser<DenseMatrixProto>(() => new DenseMatrixProto());
8567 private pb::UnknownFieldSet _unknownFields;
8568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8570 public static pb::MessageParser<DenseMatrixProto> Parser { get { return _parser; } }
8571
8572 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8573 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8574 public static pbr::MessageDescriptor Descriptor {
8575 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[24]; }
8576 }
8577
8578 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8579 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8580 pbr::MessageDescriptor pb::IMessage.Descriptor {
8581 get { return Descriptor; }
8582 }
8583
8584 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8585 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8586 public DenseMatrixProto() {
8587 OnConstruction();
8588 }
8589
8590 partial void OnConstruction();
8591
8592 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8593 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8594 public DenseMatrixProto(DenseMatrixProto other) : this() {
8595 numRows_ = other.numRows_;
8596 numCols_ = other.numCols_;
8597 entries_ = other.entries_.Clone();
8598 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8599 }
8600
8601 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8602 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8603 public DenseMatrixProto Clone() {
8604 return new DenseMatrixProto(this);
8605 }
8608 public const int NumRowsFieldNumber = 1;
8609 private int numRows_;
8610 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8611 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8612 public int NumRows {
8613 get { return numRows_; }
8614 set {
8615 numRows_ = value;
8616 }
8617 }
8618
8620 public const int NumColsFieldNumber = 2;
8621 private int numCols_;
8622 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8623 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8624 public int NumCols {
8625 get { return numCols_; }
8626 set {
8627 numCols_ = value;
8628 }
8629 }
8632 public const int EntriesFieldNumber = 3;
8633 private static readonly pb::FieldCodec<int> _repeated_entries_codec
8634 = pb::FieldCodec.ForInt32(26);
8635 private readonly pbc::RepeatedField<int> entries_ = new pbc::RepeatedField<int>();
8636 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8637 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8638 public pbc::RepeatedField<int> Entries {
8639 get { return entries_; }
8640 }
8641
8642 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8643 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8644 public override bool Equals(object other) {
8645 return Equals(other as DenseMatrixProto);
8646 }
8647
8648 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8649 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8650 public bool Equals(DenseMatrixProto other) {
8651 if (ReferenceEquals(other, null)) {
8652 return false;
8653 }
8654 if (ReferenceEquals(other, this)) {
8655 return true;
8657 if (NumRows != other.NumRows) return false;
8658 if (NumCols != other.NumCols) return false;
8659 if(!entries_.Equals(other.entries_)) return false;
8660 return Equals(_unknownFields, other._unknownFields);
8661 }
8662
8663 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8664 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8665 public override int GetHashCode() {
8666 int hash = 1;
8667 if (NumRows != 0) hash ^= NumRows.GetHashCode();
8668 if (NumCols != 0) hash ^= NumCols.GetHashCode();
8669 hash ^= entries_.GetHashCode();
8670 if (_unknownFields != null) {
8671 hash ^= _unknownFields.GetHashCode();
8672 }
8673 return hash;
8675
8676 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8677 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8678 public override string ToString() {
8679 return pb::JsonFormatter.ToDiagnosticString(this);
8681
8682 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8683 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8684 public void WriteTo(pb::CodedOutputStream output) {
8685 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8686 output.WriteRawMessage(this);
8687 #else
8688 if (NumRows != 0) {
8689 output.WriteRawTag(8);
8690 output.WriteInt32(NumRows);
8691 }
8692 if (NumCols != 0) {
8693 output.WriteRawTag(16);
8694 output.WriteInt32(NumCols);
8695 }
8696 entries_.WriteTo(output, _repeated_entries_codec);
8697 if (_unknownFields != null) {
8698 _unknownFields.WriteTo(output);
8699 }
8700 #endif
8702
8703 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8704 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8705 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8706 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8707 if (NumRows != 0) {
8708 output.WriteRawTag(8);
8709 output.WriteInt32(NumRows);
8710 }
8711 if (NumCols != 0) {
8712 output.WriteRawTag(16);
8713 output.WriteInt32(NumCols);
8715 entries_.WriteTo(ref output, _repeated_entries_codec);
8716 if (_unknownFields != null) {
8717 _unknownFields.WriteTo(ref output);
8718 }
8719 }
8720 #endif
8721
8722 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8723 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8724 public int CalculateSize() {
8725 int size = 0;
8726 if (NumRows != 0) {
8727 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumRows);
8728 }
8729 if (NumCols != 0) {
8730 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumCols);
8731 }
8732 size += entries_.CalculateSize(_repeated_entries_codec);
8733 if (_unknownFields != null) {
8734 size += _unknownFields.CalculateSize();
8735 }
8736 return size;
8737 }
8738
8739 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8740 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8741 public void MergeFrom(DenseMatrixProto other) {
8742 if (other == null) {
8743 return;
8744 }
8745 if (other.NumRows != 0) {
8746 NumRows = other.NumRows;
8747 }
8748 if (other.NumCols != 0) {
8749 NumCols = other.NumCols;
8750 }
8751 entries_.Add(other.entries_);
8752 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
8753 }
8754
8755 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8756 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8757 public void MergeFrom(pb::CodedInputStream input) {
8758 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8759 input.ReadRawMessage(this);
8760 #else
8761 uint tag;
8762 while ((tag = input.ReadTag()) != 0) {
8763 if ((tag & 7) == 4) {
8764 // Abort on any end group tag.
8765 return;
8766 }
8767 switch(tag) {
8768 default:
8769 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
8770 break;
8771 case 8: {
8772 NumRows = input.ReadInt32();
8773 break;
8774 }
8775 case 16: {
8776 NumCols = input.ReadInt32();
8777 break;
8778 }
8779 case 26:
8780 case 24: {
8781 entries_.AddEntriesFrom(input, _repeated_entries_codec);
8782 break;
8783 }
8784 }
8785 }
8786 #endif
8787 }
8788
8789 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8790 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8791 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8792 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
8793 uint tag;
8794 while ((tag = input.ReadTag()) != 0) {
8795 if ((tag & 7) == 4) {
8796 // Abort on any end group tag.
8797 return;
8798 }
8799 switch(tag) {
8800 default:
8801 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
8802 break;
8803 case 8: {
8804 NumRows = input.ReadInt32();
8805 break;
8806 }
8807 case 16: {
8808 NumCols = input.ReadInt32();
8809 break;
8810 }
8811 case 26:
8812 case 24: {
8813 entries_.AddEntriesFrom(ref input, _repeated_entries_codec);
8814 break;
8815 }
8816 }
8817 }
8818 }
8819 #endif
8820
8821 }
8822
8824
8837 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
8838 public sealed partial class SymmetryProto : pb::IMessage<SymmetryProto>
8839 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8840 , pb::IBufferMessage
8841 #endif
8842 {
8843 private static readonly pb::MessageParser<SymmetryProto> _parser = new pb::MessageParser<SymmetryProto>(() => new SymmetryProto());
8844 private pb::UnknownFieldSet _unknownFields;
8845 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8846 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8847 public static pb::MessageParser<SymmetryProto> Parser { get { return _parser; } }
8848
8849 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8850 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8851 public static pbr::MessageDescriptor Descriptor {
8852 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[25]; }
8853 }
8854
8855 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8856 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8857 pbr::MessageDescriptor pb::IMessage.Descriptor {
8858 get { return Descriptor; }
8859 }
8860
8861 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8862 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8863 public SymmetryProto() {
8864 OnConstruction();
8865 }
8866
8867 partial void OnConstruction();
8868
8869 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8870 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8871 public SymmetryProto(SymmetryProto other) : this() {
8872 permutations_ = other.permutations_.Clone();
8873 orbitopes_ = other.orbitopes_.Clone();
8874 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
8875 }
8876
8877 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8878 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8879 public SymmetryProto Clone() {
8880 return new SymmetryProto(this);
8881 }
8882
8884 public const int PermutationsFieldNumber = 1;
8885 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.SparsePermutationProto> _repeated_permutations_codec
8886 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.Sat.SparsePermutationProto.Parser);
8887 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.SparsePermutationProto> permutations_ = new pbc::RepeatedField<global::Google.OrTools.Sat.SparsePermutationProto>();
8890 /// solution invariant. Usually, we only encode a set of generators of the
8891 /// group.
8892 /// </summary>
8893 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8894 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8895 public pbc::RepeatedField<global::Google.OrTools.Sat.SparsePermutationProto> Permutations {
8896 get { return permutations_; }
8897 }
8898
8900 public const int OrbitopesFieldNumber = 2;
8901 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.DenseMatrixProto> _repeated_orbitopes_codec
8902 = pb::FieldCodec.ForMessage(18, global::Google.OrTools.Sat.DenseMatrixProto.Parser);
8903 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.DenseMatrixProto> orbitopes_ = new pbc::RepeatedField<global::Google.OrTools.Sat.DenseMatrixProto>();
8905
8910 /// This arise quite often. The typical example is a graph coloring problem
8911 /// where for each node i, you have j booleans to indicate its color. If the
8912 /// variables color_of_i_is_j are arranged in a matrix[i][j], then any columns
8913 /// permutations leave the problem invariant.
8914 /// </summary>
8915 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8916 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8917 public pbc::RepeatedField<global::Google.OrTools.Sat.DenseMatrixProto> Orbitopes {
8918 get { return orbitopes_; }
8919 }
8920
8921 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8922 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8923 public override bool Equals(object other) {
8924 return Equals(other as SymmetryProto);
8925 }
8926
8927 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8928 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8929 public bool Equals(SymmetryProto other) {
8930 if (ReferenceEquals(other, null)) {
8931 return false;
8932 }
8933 if (ReferenceEquals(other, this)) {
8934 return true;
8935 }
8936 if(!permutations_.Equals(other.permutations_)) return false;
8937 if(!orbitopes_.Equals(other.orbitopes_)) return false;
8938 return Equals(_unknownFields, other._unknownFields);
8940
8941 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8942 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8943 public override int GetHashCode() {
8944 int hash = 1;
8945 hash ^= permutations_.GetHashCode();
8946 hash ^= orbitopes_.GetHashCode();
8947 if (_unknownFields != null) {
8948 hash ^= _unknownFields.GetHashCode();
8949 }
8950 return hash;
8951 }
8952
8953 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8954 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8955 public override string ToString() {
8956 return pb::JsonFormatter.ToDiagnosticString(this);
8958
8959 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8960 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8961 public void WriteTo(pb::CodedOutputStream output) {
8962 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8963 output.WriteRawMessage(this);
8964 #else
8965 permutations_.WriteTo(output, _repeated_permutations_codec);
8966 orbitopes_.WriteTo(output, _repeated_orbitopes_codec);
8967 if (_unknownFields != null) {
8968 _unknownFields.WriteTo(output);
8970 #endif
8971 }
8972
8973 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
8974 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8975 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8976 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
8977 permutations_.WriteTo(ref output, _repeated_permutations_codec);
8978 orbitopes_.WriteTo(ref output, _repeated_orbitopes_codec);
8979 if (_unknownFields != null) {
8980 _unknownFields.WriteTo(ref output);
8981 }
8982 }
8983 #endif
8984
8985 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8986 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8987 public int CalculateSize() {
8988 int size = 0;
8989 size += permutations_.CalculateSize(_repeated_permutations_codec);
8990 size += orbitopes_.CalculateSize(_repeated_orbitopes_codec);
8991 if (_unknownFields != null) {
8992 size += _unknownFields.CalculateSize();
8993 }
8994 return size;
8996
8997 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
8998 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
8999 public void MergeFrom(SymmetryProto other) {
9000 if (other == null) {
9001 return;
9002 }
9003 permutations_.Add(other.permutations_);
9004 orbitopes_.Add(other.orbitopes_);
9005 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
9006 }
9007
9008 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9009 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9010 public void MergeFrom(pb::CodedInputStream input) {
9011 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9012 input.ReadRawMessage(this);
9013 #else
9014 uint tag;
9015 while ((tag = input.ReadTag()) != 0) {
9016 if ((tag & 7) == 4) {
9017 // Abort on any end group tag.
9018 return;
9019 }
9020 switch(tag) {
9021 default:
9022 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
9023 break;
9024 case 10: {
9025 permutations_.AddEntriesFrom(input, _repeated_permutations_codec);
9026 break;
9028 case 18: {
9029 orbitopes_.AddEntriesFrom(input, _repeated_orbitopes_codec);
9030 break;
9031 }
9032 }
9033 }
9034 #endif
9035 }
9036
9037 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9038 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9039 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9040 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
9041 uint tag;
9042 while ((tag = input.ReadTag()) != 0) {
9043 if ((tag & 7) == 4) {
9044 // Abort on any end group tag.
9045 return;
9046 }
9047 switch(tag) {
9048 default:
9049 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
9050 break;
9051 case 10: {
9052 permutations_.AddEntriesFrom(ref input, _repeated_permutations_codec);
9053 break;
9054 }
9055 case 18: {
9056 orbitopes_.AddEntriesFrom(ref input, _repeated_orbitopes_codec);
9057 break;
9058 }
9059 }
9060 }
9061 }
9062 #endif
9063
9064 }
9065
9069 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
9070 public sealed partial class CpModelProto : pb::IMessage<CpModelProto>
9071 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9072 , pb::IBufferMessage
9073 #endif
9074 {
9075 private static readonly pb::MessageParser<CpModelProto> _parser = new pb::MessageParser<CpModelProto>(() => new CpModelProto());
9076 private pb::UnknownFieldSet _unknownFields;
9077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9079 public static pb::MessageParser<CpModelProto> Parser { get { return _parser; } }
9080
9081 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9082 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9083 public static pbr::MessageDescriptor Descriptor {
9084 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[26]; }
9085 }
9086
9087 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9088 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9089 pbr::MessageDescriptor pb::IMessage.Descriptor {
9090 get { return Descriptor; }
9091 }
9092
9093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9095 public CpModelProto() {
9096 OnConstruction();
9097 }
9098
9099 partial void OnConstruction();
9100
9101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9103 public CpModelProto(CpModelProto other) : this() {
9104 name_ = other.name_;
9105 variables_ = other.variables_.Clone();
9106 constraints_ = other.constraints_.Clone();
9107 objective_ = other.objective_ != null ? other.objective_.Clone() : null;
9108 floatingPointObjective_ = other.floatingPointObjective_ != null ? other.floatingPointObjective_.Clone() : null;
9109 searchStrategy_ = other.searchStrategy_.Clone();
9110 solutionHint_ = other.solutionHint_ != null ? other.solutionHint_.Clone() : null;
9111 assumptions_ = other.assumptions_.Clone();
9112 symmetry_ = other.symmetry_ != null ? other.symmetry_.Clone() : null;
9113 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
9114 }
9115
9116 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9117 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9118 public CpModelProto Clone() {
9119 return new CpModelProto(this);
9120 }
9121
9123 public const int NameFieldNumber = 1;
9124 private string name_ = "";
9126
9128 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9129 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9130 public string Name {
9131 get { return name_; }
9132 set {
9133 name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
9134 }
9136
9138 public const int VariablesFieldNumber = 2;
9139 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.IntegerVariableProto> _repeated_variables_codec
9140 = pb::FieldCodec.ForMessage(18, global::Google.OrTools.Sat.IntegerVariableProto.Parser);
9141 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> variables_ = new pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto>();
9143 /// The associated Protos should be referred by their index in these fields.
9144 /// </summary>
9145 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9146 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9147 public pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> Variables {
9148 get { return variables_; }
9149 }
9150
9152 public const int ConstraintsFieldNumber = 3;
9153 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.ConstraintProto> _repeated_constraints_codec
9154 = pb::FieldCodec.ForMessage(26, global::Google.OrTools.Sat.ConstraintProto.Parser);
9155 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.ConstraintProto> constraints_ = new pbc::RepeatedField<global::Google.OrTools.Sat.ConstraintProto>();
9156 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9157 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9158 public pbc::RepeatedField<global::Google.OrTools.Sat.ConstraintProto> Constraints {
9159 get { return constraints_; }
9160 }
9161
9163 public const int ObjectiveFieldNumber = 4;
9164 private global::Google.OrTools.Sat.CpObjectiveProto objective_;
9168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9170 public global::Google.OrTools.Sat.CpObjectiveProto Objective {
9171 get { return objective_; }
9172 set {
9173 objective_ = value;
9174 }
9175 }
9176
9179 private global::Google.OrTools.Sat.FloatObjectiveProto floatingPointObjective_;
9187 /// scaled. In most situation the precision will be good enough, but you can
9188 /// see the logs to see what are the precision guaranteed when this is
9189 /// converted to a fixed point representation.
9190 ///
9191 /// Note that even if the precision is bad, the returned objective_value and
9192 /// best_objective_bound will be computed correctly. So at the end of the solve
9193 /// you can check the gap if you only want precise optimal.
9194 /// </summary>
9195 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9196 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9198 get { return floatingPointObjective_; }
9199 set {
9200 floatingPointObjective_ = value;
9201 }
9202 }
9205 public const int SearchStrategyFieldNumber = 5;
9206 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.DecisionStrategyProto> _repeated_searchStrategy_codec
9207 = pb::FieldCodec.ForMessage(42, global::Google.OrTools.Sat.DecisionStrategyProto.Parser);
9208 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.DecisionStrategyProto> searchStrategy_ = new pbc::RepeatedField<global::Google.OrTools.Sat.DecisionStrategyProto>();
9210 /// Defines the strategy that the solver should follow when the
9211 /// search_branching parameter is set to FIXED_SEARCH. Note that this strategy
9212 /// is also used as a heuristic when we are not in fixed search.
9213 ///
9214 /// Advanced Usage: if not all variables appears and the parameter
9215 /// "instantiate_all_variables" is set to false, then the solver will not try
9216 /// to instantiate the variables that do not appear. Thus, at the end of the
9217 /// search, not all variables may be fixed. Currently, we will set them to
9218 /// their lower bound in the solution.
9219 /// </summary>
9220 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9221 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9222 public pbc::RepeatedField<global::Google.OrTools.Sat.DecisionStrategyProto> SearchStrategy {
9223 get { return searchStrategy_; }
9224 }
9225
9227 public const int SolutionHintFieldNumber = 6;
9228 private global::Google.OrTools.Sat.PartialVariableAssignment solutionHint_;
9239 /// try to return a solution "close" to this assignment in case of multiple
9240 /// optimal solutions.
9241 /// </summary>
9242 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9243 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9244 public global::Google.OrTools.Sat.PartialVariableAssignment SolutionHint {
9245 get { return solutionHint_; }
9246 set {
9247 solutionHint_ = value;
9248 }
9249 }
9250
9252 public const int AssumptionsFieldNumber = 7;
9253 private static readonly pb::FieldCodec<int> _repeated_assumptions_codec
9254 = pb::FieldCodec.ForInt32(58);
9255 private readonly pbc::RepeatedField<int> assumptions_ = new pbc::RepeatedField<int>();
9265 /// related constraint under only one enforcement literal which can potentially
9266 /// give you a good and interpretable explanation for infeasiblity.
9267 ///
9268 /// Such infeasibility explanation will be available in the
9269 /// sufficient_assumptions_for_infeasibility response field.
9270 /// </summary>
9271 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9272 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9273 public pbc::RepeatedField<int> Assumptions {
9274 get { return assumptions_; }
9275 }
9276
9278 public const int SymmetryFieldNumber = 8;
9279 private global::Google.OrTools.Sat.SymmetryProto symmetry_;
9287 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9288 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9289 public global::Google.OrTools.Sat.SymmetryProto Symmetry {
9290 get { return symmetry_; }
9291 set {
9292 symmetry_ = value;
9293 }
9294 }
9295
9296 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9297 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9298 public override bool Equals(object other) {
9299 return Equals(other as CpModelProto);
9300 }
9301
9302 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9303 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9304 public bool Equals(CpModelProto other) {
9305 if (ReferenceEquals(other, null)) {
9306 return false;
9307 }
9308 if (ReferenceEquals(other, this)) {
9309 return true;
9310 }
9311 if (Name != other.Name) return false;
9312 if(!variables_.Equals(other.variables_)) return false;
9313 if(!constraints_.Equals(other.constraints_)) return false;
9314 if (!object.Equals(Objective, other.Objective)) return false;
9315 if (!object.Equals(FloatingPointObjective, other.FloatingPointObjective)) return false;
9316 if(!searchStrategy_.Equals(other.searchStrategy_)) return false;
9317 if (!object.Equals(SolutionHint, other.SolutionHint)) return false;
9318 if(!assumptions_.Equals(other.assumptions_)) return false;
9319 if (!object.Equals(Symmetry, other.Symmetry)) return false;
9320 return Equals(_unknownFields, other._unknownFields);
9321 }
9322
9323 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9324 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9325 public override int GetHashCode() {
9326 int hash = 1;
9327 if (Name.Length != 0) hash ^= Name.GetHashCode();
9328 hash ^= variables_.GetHashCode();
9329 hash ^= constraints_.GetHashCode();
9330 if (objective_ != null) hash ^= Objective.GetHashCode();
9331 if (floatingPointObjective_ != null) hash ^= FloatingPointObjective.GetHashCode();
9332 hash ^= searchStrategy_.GetHashCode();
9333 if (solutionHint_ != null) hash ^= SolutionHint.GetHashCode();
9334 hash ^= assumptions_.GetHashCode();
9335 if (symmetry_ != null) hash ^= Symmetry.GetHashCode();
9336 if (_unknownFields != null) {
9337 hash ^= _unknownFields.GetHashCode();
9338 }
9339 return hash;
9340 }
9341
9342 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9343 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9344 public override string ToString() {
9345 return pb::JsonFormatter.ToDiagnosticString(this);
9347
9348 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9349 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9350 public void WriteTo(pb::CodedOutputStream output) {
9351 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9352 output.WriteRawMessage(this);
9353 #else
9354 if (Name.Length != 0) {
9355 output.WriteRawTag(10);
9356 output.WriteString(Name);
9357 }
9358 variables_.WriteTo(output, _repeated_variables_codec);
9359 constraints_.WriteTo(output, _repeated_constraints_codec);
9360 if (objective_ != null) {
9361 output.WriteRawTag(34);
9362 output.WriteMessage(Objective);
9363 }
9364 searchStrategy_.WriteTo(output, _repeated_searchStrategy_codec);
9365 if (solutionHint_ != null) {
9366 output.WriteRawTag(50);
9367 output.WriteMessage(SolutionHint);
9368 }
9369 assumptions_.WriteTo(output, _repeated_assumptions_codec);
9370 if (symmetry_ != null) {
9371 output.WriteRawTag(66);
9372 output.WriteMessage(Symmetry);
9374 if (floatingPointObjective_ != null) {
9375 output.WriteRawTag(74);
9376 output.WriteMessage(FloatingPointObjective);
9377 }
9378 if (_unknownFields != null) {
9379 _unknownFields.WriteTo(output);
9380 }
9381 #endif
9382 }
9383
9384 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9385 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9386 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9387 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
9388 if (Name.Length != 0) {
9389 output.WriteRawTag(10);
9390 output.WriteString(Name);
9391 }
9392 variables_.WriteTo(ref output, _repeated_variables_codec);
9393 constraints_.WriteTo(ref output, _repeated_constraints_codec);
9394 if (objective_ != null) {
9395 output.WriteRawTag(34);
9396 output.WriteMessage(Objective);
9397 }
9398 searchStrategy_.WriteTo(ref output, _repeated_searchStrategy_codec);
9399 if (solutionHint_ != null) {
9400 output.WriteRawTag(50);
9401 output.WriteMessage(SolutionHint);
9402 }
9403 assumptions_.WriteTo(ref output, _repeated_assumptions_codec);
9404 if (symmetry_ != null) {
9405 output.WriteRawTag(66);
9406 output.WriteMessage(Symmetry);
9407 }
9408 if (floatingPointObjective_ != null) {
9409 output.WriteRawTag(74);
9410 output.WriteMessage(FloatingPointObjective);
9411 }
9412 if (_unknownFields != null) {
9413 _unknownFields.WriteTo(ref output);
9414 }
9415 }
9416 #endif
9417
9418 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9419 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9420 public int CalculateSize() {
9421 int size = 0;
9422 if (Name.Length != 0) {
9423 size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
9424 }
9425 size += variables_.CalculateSize(_repeated_variables_codec);
9426 size += constraints_.CalculateSize(_repeated_constraints_codec);
9427 if (objective_ != null) {
9428 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Objective);
9429 }
9430 if (floatingPointObjective_ != null) {
9431 size += 1 + pb::CodedOutputStream.ComputeMessageSize(FloatingPointObjective);
9432 }
9433 size += searchStrategy_.CalculateSize(_repeated_searchStrategy_codec);
9434 if (solutionHint_ != null) {
9435 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SolutionHint);
9436 }
9437 size += assumptions_.CalculateSize(_repeated_assumptions_codec);
9438 if (symmetry_ != null) {
9439 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Symmetry);
9440 }
9441 if (_unknownFields != null) {
9442 size += _unknownFields.CalculateSize();
9443 }
9444 return size;
9445 }
9446
9447 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9448 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9449 public void MergeFrom(CpModelProto other) {
9450 if (other == null) {
9451 return;
9452 }
9453 if (other.Name.Length != 0) {
9454 Name = other.Name;
9455 }
9456 variables_.Add(other.variables_);
9457 constraints_.Add(other.constraints_);
9458 if (other.objective_ != null) {
9459 if (objective_ == null) {
9460 Objective = new global::Google.OrTools.Sat.CpObjectiveProto();
9461 }
9462 Objective.MergeFrom(other.Objective);
9463 }
9464 if (other.floatingPointObjective_ != null) {
9465 if (floatingPointObjective_ == null) {
9466 FloatingPointObjective = new global::Google.OrTools.Sat.FloatObjectiveProto();
9467 }
9468 FloatingPointObjective.MergeFrom(other.FloatingPointObjective);
9469 }
9470 searchStrategy_.Add(other.searchStrategy_);
9471 if (other.solutionHint_ != null) {
9472 if (solutionHint_ == null) {
9473 SolutionHint = new global::Google.OrTools.Sat.PartialVariableAssignment();
9474 }
9475 SolutionHint.MergeFrom(other.SolutionHint);
9476 }
9477 assumptions_.Add(other.assumptions_);
9478 if (other.symmetry_ != null) {
9479 if (symmetry_ == null) {
9480 Symmetry = new global::Google.OrTools.Sat.SymmetryProto();
9481 }
9482 Symmetry.MergeFrom(other.Symmetry);
9483 }
9484 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
9485 }
9486
9487 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9488 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9489 public void MergeFrom(pb::CodedInputStream input) {
9490 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9491 input.ReadRawMessage(this);
9492 #else
9493 uint tag;
9494 while ((tag = input.ReadTag()) != 0) {
9495 if ((tag & 7) == 4) {
9496 // Abort on any end group tag.
9497 return;
9498 }
9499 switch(tag) {
9500 default:
9501 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
9502 break;
9503 case 10: {
9504 Name = input.ReadString();
9505 break;
9506 }
9507 case 18: {
9508 variables_.AddEntriesFrom(input, _repeated_variables_codec);
9509 break;
9510 }
9511 case 26: {
9512 constraints_.AddEntriesFrom(input, _repeated_constraints_codec);
9513 break;
9514 }
9515 case 34: {
9516 if (objective_ == null) {
9517 Objective = new global::Google.OrTools.Sat.CpObjectiveProto();
9518 }
9519 input.ReadMessage(Objective);
9520 break;
9521 }
9522 case 42: {
9523 searchStrategy_.AddEntriesFrom(input, _repeated_searchStrategy_codec);
9524 break;
9525 }
9526 case 50: {
9527 if (solutionHint_ == null) {
9528 SolutionHint = new global::Google.OrTools.Sat.PartialVariableAssignment();
9529 }
9530 input.ReadMessage(SolutionHint);
9531 break;
9532 }
9533 case 58:
9534 case 56: {
9535 assumptions_.AddEntriesFrom(input, _repeated_assumptions_codec);
9536 break;
9538 case 66: {
9539 if (symmetry_ == null) {
9540 Symmetry = new global::Google.OrTools.Sat.SymmetryProto();
9541 }
9542 input.ReadMessage(Symmetry);
9543 break;
9544 }
9545 case 74: {
9546 if (floatingPointObjective_ == null) {
9547 FloatingPointObjective = new global::Google.OrTools.Sat.FloatObjectiveProto();
9548 }
9549 input.ReadMessage(FloatingPointObjective);
9550 break;
9551 }
9552 }
9553 }
9554 #endif
9555 }
9556
9557 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9558 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9559 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9560 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
9561 uint tag;
9562 while ((tag = input.ReadTag()) != 0) {
9563 if ((tag & 7) == 4) {
9564 // Abort on any end group tag.
9565 return;
9566 }
9567 switch(tag) {
9568 default:
9569 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
9570 break;
9571 case 10: {
9572 Name = input.ReadString();
9573 break;
9574 }
9575 case 18: {
9576 variables_.AddEntriesFrom(ref input, _repeated_variables_codec);
9577 break;
9578 }
9579 case 26: {
9580 constraints_.AddEntriesFrom(ref input, _repeated_constraints_codec);
9581 break;
9582 }
9583 case 34: {
9584 if (objective_ == null) {
9585 Objective = new global::Google.OrTools.Sat.CpObjectiveProto();
9586 }
9587 input.ReadMessage(Objective);
9588 break;
9589 }
9590 case 42: {
9591 searchStrategy_.AddEntriesFrom(ref input, _repeated_searchStrategy_codec);
9592 break;
9593 }
9594 case 50: {
9595 if (solutionHint_ == null) {
9596 SolutionHint = new global::Google.OrTools.Sat.PartialVariableAssignment();
9597 }
9598 input.ReadMessage(SolutionHint);
9599 break;
9600 }
9601 case 58:
9602 case 56: {
9603 assumptions_.AddEntriesFrom(ref input, _repeated_assumptions_codec);
9604 break;
9605 }
9606 case 66: {
9607 if (symmetry_ == null) {
9608 Symmetry = new global::Google.OrTools.Sat.SymmetryProto();
9609 }
9610 input.ReadMessage(Symmetry);
9611 break;
9612 }
9613 case 74: {
9614 if (floatingPointObjective_ == null) {
9615 FloatingPointObjective = new global::Google.OrTools.Sat.FloatObjectiveProto();
9616 }
9617 input.ReadMessage(FloatingPointObjective);
9618 break;
9619 }
9620 }
9621 }
9622 }
9623 #endif
9624
9625 }
9626
9631 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
9632 public sealed partial class CpSolverSolution : pb::IMessage<CpSolverSolution>
9633 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9634 , pb::IBufferMessage
9635 #endif
9636 {
9637 private static readonly pb::MessageParser<CpSolverSolution> _parser = new pb::MessageParser<CpSolverSolution>(() => new CpSolverSolution());
9638 private pb::UnknownFieldSet _unknownFields;
9639 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9640 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9641 public static pb::MessageParser<CpSolverSolution> Parser { get { return _parser; } }
9642
9643 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9644 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9645 public static pbr::MessageDescriptor Descriptor {
9646 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[27]; }
9647 }
9648
9649 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9650 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9651 pbr::MessageDescriptor pb::IMessage.Descriptor {
9652 get { return Descriptor; }
9653 }
9654
9655 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9656 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9657 public CpSolverSolution() {
9658 OnConstruction();
9659 }
9660
9661 partial void OnConstruction();
9662
9663 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9664 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9665 public CpSolverSolution(CpSolverSolution other) : this() {
9666 values_ = other.values_.Clone();
9667 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
9668 }
9669
9670 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9671 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9672 public CpSolverSolution Clone() {
9673 return new CpSolverSolution(this);
9674 }
9675
9677 public const int ValuesFieldNumber = 1;
9678 private static readonly pb::FieldCodec<long> _repeated_values_codec
9679 = pb::FieldCodec.ForInt64(10);
9680 private readonly pbc::RepeatedField<long> values_ = new pbc::RepeatedField<long>();
9681 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9682 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9683 public pbc::RepeatedField<long> Values {
9684 get { return values_; }
9685 }
9686
9687 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9688 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9689 public override bool Equals(object other) {
9690 return Equals(other as CpSolverSolution);
9691 }
9692
9693 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9694 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9695 public bool Equals(CpSolverSolution other) {
9696 if (ReferenceEquals(other, null)) {
9697 return false;
9698 }
9699 if (ReferenceEquals(other, this)) {
9700 return true;
9701 }
9702 if(!values_.Equals(other.values_)) return false;
9703 return Equals(_unknownFields, other._unknownFields);
9704 }
9706 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9707 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9708 public override int GetHashCode() {
9709 int hash = 1;
9710 hash ^= values_.GetHashCode();
9711 if (_unknownFields != null) {
9712 hash ^= _unknownFields.GetHashCode();
9714 return hash;
9715 }
9716
9717 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9718 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9719 public override string ToString() {
9720 return pb::JsonFormatter.ToDiagnosticString(this);
9721 }
9722
9723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9725 public void WriteTo(pb::CodedOutputStream output) {
9726 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9727 output.WriteRawMessage(this);
9728 #else
9729 values_.WriteTo(output, _repeated_values_codec);
9730 if (_unknownFields != null) {
9731 _unknownFields.WriteTo(output);
9732 }
9733 #endif
9734 }
9735
9736 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9737 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9738 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9739 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
9740 values_.WriteTo(ref output, _repeated_values_codec);
9741 if (_unknownFields != null) {
9742 _unknownFields.WriteTo(ref output);
9744 }
9745 #endif
9746
9747 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9748 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9749 public int CalculateSize() {
9750 int size = 0;
9751 size += values_.CalculateSize(_repeated_values_codec);
9752 if (_unknownFields != null) {
9753 size += _unknownFields.CalculateSize();
9754 }
9755 return size;
9757
9758 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9759 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9760 public void MergeFrom(CpSolverSolution other) {
9761 if (other == null) {
9762 return;
9763 }
9764 values_.Add(other.values_);
9765 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
9766 }
9768 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9769 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9770 public void MergeFrom(pb::CodedInputStream input) {
9771 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9772 input.ReadRawMessage(this);
9773 #else
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, input);
9783 break;
9784 case 10:
9785 case 8: {
9786 values_.AddEntriesFrom(input, _repeated_values_codec);
9787 break;
9788 }
9789 }
9790 }
9791 #endif
9792 }
9793
9794 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9795 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9796 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9797 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
9798 uint tag;
9799 while ((tag = input.ReadTag()) != 0) {
9800 if ((tag & 7) == 4) {
9801 // Abort on any end group tag.
9802 return;
9803 }
9804 switch(tag) {
9805 default:
9806 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
9807 break;
9808 case 10:
9809 case 8: {
9810 values_.AddEntriesFrom(ref input, _repeated_values_codec);
9811 break;
9812 }
9813 }
9814 }
9815 }
9816 #endif
9817
9819
9825 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
9826 public sealed partial class CpSolverResponse : pb::IMessage<CpSolverResponse>
9827 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
9828 , pb::IBufferMessage
9829 #endif
9830 {
9831 private static readonly pb::MessageParser<CpSolverResponse> _parser = new pb::MessageParser<CpSolverResponse>(() => new CpSolverResponse());
9832 private pb::UnknownFieldSet _unknownFields;
9833 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9834 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9835 public static pb::MessageParser<CpSolverResponse> Parser { get { return _parser; } }
9836
9837 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9838 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9839 public static pbr::MessageDescriptor Descriptor {
9840 get { return global::Google.OrTools.Sat.CpModelReflection.Descriptor.MessageTypes[28]; }
9841 }
9842
9843 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9844 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9845 pbr::MessageDescriptor pb::IMessage.Descriptor {
9846 get { return Descriptor; }
9847 }
9848
9849 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9850 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9851 public CpSolverResponse() {
9852 OnConstruction();
9853 }
9854
9855 partial void OnConstruction();
9856
9857 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9858 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9859 public CpSolverResponse(CpSolverResponse other) : this() {
9860 status_ = other.status_;
9861 solution_ = other.solution_.Clone();
9862 objectiveValue_ = other.objectiveValue_;
9863 bestObjectiveBound_ = other.bestObjectiveBound_;
9864 additionalSolutions_ = other.additionalSolutions_.Clone();
9865 tightenedVariables_ = other.tightenedVariables_.Clone();
9866 sufficientAssumptionsForInfeasibility_ = other.sufficientAssumptionsForInfeasibility_.Clone();
9867 integerObjective_ = other.integerObjective_ != null ? other.integerObjective_.Clone() : null;
9868 innerObjectiveLowerBound_ = other.innerObjectiveLowerBound_;
9869 numIntegers_ = other.numIntegers_;
9870 numBooleans_ = other.numBooleans_;
9871 numFixedBooleans_ = other.numFixedBooleans_;
9872 numConflicts_ = other.numConflicts_;
9873 numBranches_ = other.numBranches_;
9874 numBinaryPropagations_ = other.numBinaryPropagations_;
9875 numIntegerPropagations_ = other.numIntegerPropagations_;
9876 numRestarts_ = other.numRestarts_;
9877 numLpIterations_ = other.numLpIterations_;
9878 wallTime_ = other.wallTime_;
9879 userTime_ = other.userTime_;
9880 deterministicTime_ = other.deterministicTime_;
9881 gapIntegral_ = other.gapIntegral_;
9882 solutionInfo_ = other.solutionInfo_;
9883 solveLog_ = other.solveLog_;
9884 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
9885 }
9886
9887 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9888 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9889 public CpSolverResponse Clone() {
9890 return new CpSolverResponse(this);
9891 }
9892
9894 public const int StatusFieldNumber = 1;
9895 private global::Google.OrTools.Sat.CpSolverStatus status_ = global::Google.OrTools.Sat.CpSolverStatus.Unknown;
9899 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9900 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9901 public global::Google.OrTools.Sat.CpSolverStatus Status {
9902 get { return status_; }
9903 set {
9904 status_ = value;
9905 }
9906 }
9907
9908 /// <summary>Field number for the "solution" field.</summary>
9909 public const int SolutionFieldNumber = 2;
9910 private static readonly pb::FieldCodec<long> _repeated_solution_codec
9911 = pb::FieldCodec.ForInt64(18);
9912 private readonly pbc::RepeatedField<long> solution_ = new pbc::RepeatedField<long>();
9919 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9920 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9921 public pbc::RepeatedField<long> Solution {
9922 get { return solution_; }
9923 }
9924
9926 public const int ObjectiveValueFieldNumber = 3;
9927 private double objectiveValue_;
9934 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9935 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9936 public double ObjectiveValue {
9937 get { return objectiveValue_; }
9938 set {
9939 objectiveValue_ = value;
9940 }
9941 }
9942
9944 public const int BestObjectiveBoundFieldNumber = 4;
9945 private double bestObjectiveBound_;
9950 /// </summary>
9951 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9952 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9953 public double BestObjectiveBound {
9954 get { return bestObjectiveBound_; }
9955 set {
9956 bestObjectiveBound_ = value;
9957 }
9959
9961 public const int AdditionalSolutionsFieldNumber = 27;
9962 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.CpSolverSolution> _repeated_additionalSolutions_codec
9963 = pb::FieldCodec.ForMessage(218, global::Google.OrTools.Sat.CpSolverSolution.Parser);
9964 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.CpSolverSolution> additionalSolutions_ = new pbc::RepeatedField<global::Google.OrTools.Sat.CpSolverSolution>();
9970 /// too. Do not rely on the solutions order as it depends on our internal
9971 /// representation (after postsolve).
9972 /// </summary>
9973 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
9974 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
9975 public pbc::RepeatedField<global::Google.OrTools.Sat.CpSolverSolution> AdditionalSolutions {
9976 get { return additionalSolutions_; }
9977 }
9978
9980 public const int TightenedVariablesFieldNumber = 21;
9981 private static readonly pb::FieldCodec<global::Google.OrTools.Sat.IntegerVariableProto> _repeated_tightenedVariables_codec
9982 = pb::FieldCodec.ForMessage(170, global::Google.OrTools.Sat.IntegerVariableProto.Parser);
9983 private readonly pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> tightenedVariables_ = new pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto>();
9985 /// Advanced usage.
9986 ///
9987 /// If the option fill_tightened_domains_in_response is set, then this field
9988 /// will be a copy of the CpModelProto.variables where each domain has been
9989 /// reduced using the information the solver was able to derive. Note that this
9990 /// is only filled with the info derived during a normal search and we do not
9991 /// have any dedicated algorithm to improve it.
9992 ///
9993 /// Warning: if you didn't set keep_all_feasible_solutions_in_presolve, then
9994 /// these domains might exclude valid feasible solution. Otherwise for a
9995 /// feasibility problem, all feasible solution should be there.
9996 ///
9997 /// Warning: For an optimization problem, these will correspond to valid bounds
9998 /// for the problem of finding an improving solution to the best one found so
9999 /// far. It might be better to solve a feasibility version if one just want to
10000 /// explore the feasible region.
10001 /// </summary>
10002 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10003 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10004 public pbc::RepeatedField<global::Google.OrTools.Sat.IntegerVariableProto> TightenedVariables {
10005 get { return tightenedVariables_; }
10006 }
10007
10008
10009 public const int SufficientAssumptionsForInfeasibilityFieldNumber = 23;
10010 private static readonly pb::FieldCodec<int> _repeated_sufficientAssumptionsForInfeasibility_codec
10011 = pb::FieldCodec.ForInt32(186);
10012 private readonly pbc::RepeatedField<int> sufficientAssumptionsForInfeasibility_ = new pbc::RepeatedField<int>();
10025 /// changing your model to minimize the number of assumptions at false, but
10026 /// this is likely an harder problem to solve.
10027 ///
10028 /// Important: Currently, this is minimized only in single-thread and if the
10029 /// problem is not an optimization problem, otherwise, it will always include
10030 /// all the assumptions.
10031 ///
10032 /// TODO(user): Allows for returning multiple core at once.
10033 /// </summary>
10034 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10035 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10036 public pbc::RepeatedField<int> SufficientAssumptionsForInfeasibility {
10037 get { return sufficientAssumptionsForInfeasibility_; }
10038 }
10039
10041 public const int IntegerObjectiveFieldNumber = 28;
10042 private global::Google.OrTools.Sat.CpObjectiveProto integerObjective_;
10048 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10049 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10050 public global::Google.OrTools.Sat.CpObjectiveProto IntegerObjective {
10051 get { return integerObjective_; }
10052 set {
10053 integerObjective_ = value;
10054 }
10055 }
10056
10057 /// <summary>Field number for the "inner_objective_lower_bound" field.</summary>
10058 public const int InnerObjectiveLowerBoundFieldNumber = 29;
10059 private long innerObjectiveLowerBound_;
10060
10070 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10071 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10072 public long InnerObjectiveLowerBound {
10073 get { return innerObjectiveLowerBound_; }
10074 set {
10075 innerObjectiveLowerBound_ = value;
10076 }
10077 }
10078
10080 public const int NumIntegersFieldNumber = 30;
10081 private long numIntegers_;
10089 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10090 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10091 public long NumIntegers {
10092 get { return numIntegers_; }
10093 set {
10094 numIntegers_ = value;
10095 }
10096 }
10097
10099 public const int NumBooleansFieldNumber = 10;
10100 private long numBooleans_;
10101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10103 public long NumBooleans {
10104 get { return numBooleans_; }
10105 set {
10106 numBooleans_ = value;
10108 }
10109
10111 public const int NumFixedBooleansFieldNumber = 31;
10112 private long numFixedBooleans_;
10113 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10114 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10115 public long NumFixedBooleans {
10116 get { return numFixedBooleans_; }
10117 set {
10118 numFixedBooleans_ = value;
10119 }
10120 }
10121
10123 public const int NumConflictsFieldNumber = 11;
10124 private long numConflicts_;
10125 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10126 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10127 public long NumConflicts {
10128 get { return numConflicts_; }
10129 set {
10130 numConflicts_ = value;
10132 }
10133
10135 public const int NumBranchesFieldNumber = 12;
10136 private long numBranches_;
10137 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10138 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10139 public long NumBranches {
10140 get { return numBranches_; }
10141 set {
10142 numBranches_ = value;
10143 }
10144 }
10145
10147 public const int NumBinaryPropagationsFieldNumber = 13;
10148 private long numBinaryPropagations_;
10149 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10150 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10152 get { return numBinaryPropagations_; }
10153 set {
10154 numBinaryPropagations_ = value;
10155 }
10156 }
10157
10160 private long numIntegerPropagations_;
10161 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10162 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10164 get { return numIntegerPropagations_; }
10165 set {
10166 numIntegerPropagations_ = value;
10167 }
10168 }
10169
10171 public const int NumRestartsFieldNumber = 24;
10172 private long numRestarts_;
10173 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10174 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10175 public long NumRestarts {
10176 get { return numRestarts_; }
10177 set {
10178 numRestarts_ = value;
10179 }
10180 }
10181
10183 public const int NumLpIterationsFieldNumber = 25;
10184 private long numLpIterations_;
10185 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10186 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10187 public long NumLpIterations {
10188 get { return numLpIterations_; }
10189 set {
10190 numLpIterations_ = value;
10191 }
10192 }
10193
10195 public const int WallTimeFieldNumber = 15;
10196 private double wallTime_;
10199 /// </summary>
10200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10202 public double WallTime {
10203 get { return wallTime_; }
10204 set {
10205 wallTime_ = value;
10206 }
10208
10210 public const int UserTimeFieldNumber = 16;
10211 private double userTime_;
10212 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10213 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10214 public double UserTime {
10215 get { return userTime_; }
10216 set {
10217 userTime_ = value;
10218 }
10220
10222 public const int DeterministicTimeFieldNumber = 17;
10223 private double deterministicTime_;
10224 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10225 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10226 public double DeterministicTime {
10227 get { return deterministicTime_; }
10228 set {
10229 deterministicTime_ = value;
10230 }
10232
10234 public const int GapIntegralFieldNumber = 22;
10235 private double gapIntegral_;
10239 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10240 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10241 public double GapIntegral {
10242 get { return gapIntegral_; }
10243 set {
10244 gapIntegral_ = value;
10245 }
10246 }
10249 public const int SolutionInfoFieldNumber = 20;
10250 private string solutionInfo_ = "";
10253
10255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10257 public string SolutionInfo {
10258 get { return solutionInfo_; }
10259 set {
10260 solutionInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
10261 }
10263
10265 public const int SolveLogFieldNumber = 26;
10266 private string solveLog_ = "";
10268
10271 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10272 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10273 public string SolveLog {
10274 get { return solveLog_; }
10275 set {
10276 solveLog_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
10277 }
10278 }
10279
10280 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10281 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10282 public override bool Equals(object other) {
10283 return Equals(other as CpSolverResponse);
10284 }
10285
10286 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10287 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10288 public bool Equals(CpSolverResponse other) {
10289 if (ReferenceEquals(other, null)) {
10290 return false;
10291 }
10292 if (ReferenceEquals(other, this)) {
10293 return true;
10295 if (Status != other.Status) return false;
10296 if(!solution_.Equals(other.solution_)) return false;
10297 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ObjectiveValue, other.ObjectiveValue)) return false;
10298 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(BestObjectiveBound, other.BestObjectiveBound)) return false;
10299 if(!additionalSolutions_.Equals(other.additionalSolutions_)) return false;
10300 if(!tightenedVariables_.Equals(other.tightenedVariables_)) return false;
10301 if(!sufficientAssumptionsForInfeasibility_.Equals(other.sufficientAssumptionsForInfeasibility_)) return false;
10302 if (!object.Equals(IntegerObjective, other.IntegerObjective)) return false;
10303 if (InnerObjectiveLowerBound != other.InnerObjectiveLowerBound) return false;
10304 if (NumIntegers != other.NumIntegers) return false;
10305 if (NumBooleans != other.NumBooleans) return false;
10306 if (NumFixedBooleans != other.NumFixedBooleans) return false;
10307 if (NumConflicts != other.NumConflicts) return false;
10308 if (NumBranches != other.NumBranches) return false;
10310 if (NumIntegerPropagations != other.NumIntegerPropagations) return false;
10311 if (NumRestarts != other.NumRestarts) return false;
10312 if (NumLpIterations != other.NumLpIterations) return false;
10313 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(WallTime, other.WallTime)) return false;
10314 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(UserTime, other.UserTime)) return false;
10315 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DeterministicTime, other.DeterministicTime)) return false;
10316 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(GapIntegral, other.GapIntegral)) return false;
10317 if (SolutionInfo != other.SolutionInfo) return false;
10318 if (SolveLog != other.SolveLog) return false;
10319 return Equals(_unknownFields, other._unknownFields);
10320 }
10321
10322 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10323 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10324 public override int GetHashCode() {
10325 int hash = 1;
10326 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) hash ^= Status.GetHashCode();
10327 hash ^= solution_.GetHashCode();
10328 if (ObjectiveValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ObjectiveValue);
10329 if (BestObjectiveBound != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(BestObjectiveBound);
10330 hash ^= additionalSolutions_.GetHashCode();
10331 hash ^= tightenedVariables_.GetHashCode();
10332 hash ^= sufficientAssumptionsForInfeasibility_.GetHashCode();
10333 if (integerObjective_ != null) hash ^= IntegerObjective.GetHashCode();
10334 if (InnerObjectiveLowerBound != 0L) hash ^= InnerObjectiveLowerBound.GetHashCode();
10335 if (NumIntegers != 0L) hash ^= NumIntegers.GetHashCode();
10336 if (NumBooleans != 0L) hash ^= NumBooleans.GetHashCode();
10337 if (NumFixedBooleans != 0L) hash ^= NumFixedBooleans.GetHashCode();
10338 if (NumConflicts != 0L) hash ^= NumConflicts.GetHashCode();
10339 if (NumBranches != 0L) hash ^= NumBranches.GetHashCode();
10340 if (NumBinaryPropagations != 0L) hash ^= NumBinaryPropagations.GetHashCode();
10341 if (NumIntegerPropagations != 0L) hash ^= NumIntegerPropagations.GetHashCode();
10342 if (NumRestarts != 0L) hash ^= NumRestarts.GetHashCode();
10343 if (NumLpIterations != 0L) hash ^= NumLpIterations.GetHashCode();
10344 if (WallTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(WallTime);
10345 if (UserTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(UserTime);
10346 if (DeterministicTime != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DeterministicTime);
10347 if (GapIntegral != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(GapIntegral);
10348 if (SolutionInfo.Length != 0) hash ^= SolutionInfo.GetHashCode();
10349 if (SolveLog.Length != 0) hash ^= SolveLog.GetHashCode();
10350 if (_unknownFields != null) {
10351 hash ^= _unknownFields.GetHashCode();
10352 }
10353 return hash;
10354 }
10355
10356 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10357 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10358 public override string ToString() {
10359 return pb::JsonFormatter.ToDiagnosticString(this);
10360 }
10361
10362 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10363 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10364 public void WriteTo(pb::CodedOutputStream output) {
10365 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10366 output.WriteRawMessage(this);
10367 #else
10368 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10369 output.WriteRawTag(8);
10370 output.WriteEnum((int) Status);
10371 }
10372 solution_.WriteTo(output, _repeated_solution_codec);
10373 if (ObjectiveValue != 0D) {
10374 output.WriteRawTag(25);
10375 output.WriteDouble(ObjectiveValue);
10376 }
10377 if (BestObjectiveBound != 0D) {
10378 output.WriteRawTag(33);
10379 output.WriteDouble(BestObjectiveBound);
10380 }
10381 if (NumBooleans != 0L) {
10382 output.WriteRawTag(80);
10383 output.WriteInt64(NumBooleans);
10385 if (NumConflicts != 0L) {
10386 output.WriteRawTag(88);
10387 output.WriteInt64(NumConflicts);
10388 }
10389 if (NumBranches != 0L) {
10390 output.WriteRawTag(96);
10391 output.WriteInt64(NumBranches);
10392 }
10393 if (NumBinaryPropagations != 0L) {
10394 output.WriteRawTag(104);
10395 output.WriteInt64(NumBinaryPropagations);
10396 }
10397 if (NumIntegerPropagations != 0L) {
10398 output.WriteRawTag(112);
10399 output.WriteInt64(NumIntegerPropagations);
10400 }
10401 if (WallTime != 0D) {
10402 output.WriteRawTag(121);
10403 output.WriteDouble(WallTime);
10404 }
10405 if (UserTime != 0D) {
10406 output.WriteRawTag(129, 1);
10407 output.WriteDouble(UserTime);
10408 }
10409 if (DeterministicTime != 0D) {
10410 output.WriteRawTag(137, 1);
10411 output.WriteDouble(DeterministicTime);
10412 }
10413 if (SolutionInfo.Length != 0) {
10414 output.WriteRawTag(162, 1);
10415 output.WriteString(SolutionInfo);
10416 }
10417 tightenedVariables_.WriteTo(output, _repeated_tightenedVariables_codec);
10418 if (GapIntegral != 0D) {
10419 output.WriteRawTag(177, 1);
10420 output.WriteDouble(GapIntegral);
10421 }
10422 sufficientAssumptionsForInfeasibility_.WriteTo(output, _repeated_sufficientAssumptionsForInfeasibility_codec);
10423 if (NumRestarts != 0L) {
10424 output.WriteRawTag(192, 1);
10425 output.WriteInt64(NumRestarts);
10426 }
10427 if (NumLpIterations != 0L) {
10428 output.WriteRawTag(200, 1);
10429 output.WriteInt64(NumLpIterations);
10430 }
10431 if (SolveLog.Length != 0) {
10432 output.WriteRawTag(210, 1);
10433 output.WriteString(SolveLog);
10434 }
10435 additionalSolutions_.WriteTo(output, _repeated_additionalSolutions_codec);
10436 if (integerObjective_ != null) {
10437 output.WriteRawTag(226, 1);
10438 output.WriteMessage(IntegerObjective);
10439 }
10440 if (InnerObjectiveLowerBound != 0L) {
10441 output.WriteRawTag(232, 1);
10442 output.WriteInt64(InnerObjectiveLowerBound);
10443 }
10444 if (NumIntegers != 0L) {
10445 output.WriteRawTag(240, 1);
10446 output.WriteInt64(NumIntegers);
10447 }
10448 if (NumFixedBooleans != 0L) {
10449 output.WriteRawTag(248, 1);
10450 output.WriteInt64(NumFixedBooleans);
10451 }
10452 if (_unknownFields != null) {
10453 _unknownFields.WriteTo(output);
10454 }
10455 #endif
10456 }
10457
10458 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10461 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
10462 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10463 output.WriteRawTag(8);
10464 output.WriteEnum((int) Status);
10465 }
10466 solution_.WriteTo(ref output, _repeated_solution_codec);
10467 if (ObjectiveValue != 0D) {
10468 output.WriteRawTag(25);
10469 output.WriteDouble(ObjectiveValue);
10470 }
10471 if (BestObjectiveBound != 0D) {
10472 output.WriteRawTag(33);
10473 output.WriteDouble(BestObjectiveBound);
10474 }
10475 if (NumBooleans != 0L) {
10476 output.WriteRawTag(80);
10477 output.WriteInt64(NumBooleans);
10478 }
10479 if (NumConflicts != 0L) {
10480 output.WriteRawTag(88);
10481 output.WriteInt64(NumConflicts);
10482 }
10483 if (NumBranches != 0L) {
10484 output.WriteRawTag(96);
10485 output.WriteInt64(NumBranches);
10486 }
10487 if (NumBinaryPropagations != 0L) {
10488 output.WriteRawTag(104);
10489 output.WriteInt64(NumBinaryPropagations);
10490 }
10491 if (NumIntegerPropagations != 0L) {
10492 output.WriteRawTag(112);
10493 output.WriteInt64(NumIntegerPropagations);
10494 }
10495 if (WallTime != 0D) {
10496 output.WriteRawTag(121);
10497 output.WriteDouble(WallTime);
10498 }
10499 if (UserTime != 0D) {
10500 output.WriteRawTag(129, 1);
10501 output.WriteDouble(UserTime);
10502 }
10503 if (DeterministicTime != 0D) {
10504 output.WriteRawTag(137, 1);
10505 output.WriteDouble(DeterministicTime);
10506 }
10507 if (SolutionInfo.Length != 0) {
10508 output.WriteRawTag(162, 1);
10509 output.WriteString(SolutionInfo);
10510 }
10511 tightenedVariables_.WriteTo(ref output, _repeated_tightenedVariables_codec);
10512 if (GapIntegral != 0D) {
10513 output.WriteRawTag(177, 1);
10514 output.WriteDouble(GapIntegral);
10515 }
10516 sufficientAssumptionsForInfeasibility_.WriteTo(ref output, _repeated_sufficientAssumptionsForInfeasibility_codec);
10517 if (NumRestarts != 0L) {
10518 output.WriteRawTag(192, 1);
10519 output.WriteInt64(NumRestarts);
10520 }
10521 if (NumLpIterations != 0L) {
10522 output.WriteRawTag(200, 1);
10523 output.WriteInt64(NumLpIterations);
10524 }
10525 if (SolveLog.Length != 0) {
10526 output.WriteRawTag(210, 1);
10527 output.WriteString(SolveLog);
10528 }
10529 additionalSolutions_.WriteTo(ref output, _repeated_additionalSolutions_codec);
10530 if (integerObjective_ != null) {
10531 output.WriteRawTag(226, 1);
10532 output.WriteMessage(IntegerObjective);
10533 }
10534 if (InnerObjectiveLowerBound != 0L) {
10535 output.WriteRawTag(232, 1);
10536 output.WriteInt64(InnerObjectiveLowerBound);
10537 }
10538 if (NumIntegers != 0L) {
10539 output.WriteRawTag(240, 1);
10540 output.WriteInt64(NumIntegers);
10541 }
10542 if (NumFixedBooleans != 0L) {
10543 output.WriteRawTag(248, 1);
10544 output.WriteInt64(NumFixedBooleans);
10545 }
10546 if (_unknownFields != null) {
10547 _unknownFields.WriteTo(ref output);
10548 }
10549 }
10550 #endif
10551
10552 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10553 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10554 public int CalculateSize() {
10555 int size = 0;
10556 if (Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10557 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
10558 }
10559 size += solution_.CalculateSize(_repeated_solution_codec);
10560 if (ObjectiveValue != 0D) {
10561 size += 1 + 8;
10562 }
10563 if (BestObjectiveBound != 0D) {
10564 size += 1 + 8;
10565 }
10566 size += additionalSolutions_.CalculateSize(_repeated_additionalSolutions_codec);
10567 size += tightenedVariables_.CalculateSize(_repeated_tightenedVariables_codec);
10568 size += sufficientAssumptionsForInfeasibility_.CalculateSize(_repeated_sufficientAssumptionsForInfeasibility_codec);
10569 if (integerObjective_ != null) {
10570 size += 2 + pb::CodedOutputStream.ComputeMessageSize(IntegerObjective);
10571 }
10572 if (InnerObjectiveLowerBound != 0L) {
10573 size += 2 + pb::CodedOutputStream.ComputeInt64Size(InnerObjectiveLowerBound);
10574 }
10575 if (NumIntegers != 0L) {
10576 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumIntegers);
10577 }
10578 if (NumBooleans != 0L) {
10579 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumBooleans);
10580 }
10581 if (NumFixedBooleans != 0L) {
10582 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumFixedBooleans);
10583 }
10584 if (NumConflicts != 0L) {
10585 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumConflicts);
10586 }
10587 if (NumBranches != 0L) {
10588 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumBranches);
10589 }
10590 if (NumBinaryPropagations != 0L) {
10591 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumBinaryPropagations);
10592 }
10593 if (NumIntegerPropagations != 0L) {
10594 size += 1 + pb::CodedOutputStream.ComputeInt64Size(NumIntegerPropagations);
10595 }
10596 if (NumRestarts != 0L) {
10597 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumRestarts);
10598 }
10599 if (NumLpIterations != 0L) {
10600 size += 2 + pb::CodedOutputStream.ComputeInt64Size(NumLpIterations);
10601 }
10602 if (WallTime != 0D) {
10603 size += 1 + 8;
10604 }
10605 if (UserTime != 0D) {
10606 size += 2 + 8;
10607 }
10608 if (DeterministicTime != 0D) {
10609 size += 2 + 8;
10610 }
10611 if (GapIntegral != 0D) {
10612 size += 2 + 8;
10613 }
10614 if (SolutionInfo.Length != 0) {
10615 size += 2 + pb::CodedOutputStream.ComputeStringSize(SolutionInfo);
10616 }
10617 if (SolveLog.Length != 0) {
10618 size += 2 + pb::CodedOutputStream.ComputeStringSize(SolveLog);
10619 }
10620 if (_unknownFields != null) {
10621 size += _unknownFields.CalculateSize();
10622 }
10623 return size;
10624 }
10625
10626 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10627 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10628 public void MergeFrom(CpSolverResponse other) {
10629 if (other == null) {
10630 return;
10631 }
10632 if (other.Status != global::Google.OrTools.Sat.CpSolverStatus.Unknown) {
10633 Status = other.Status;
10634 }
10635 solution_.Add(other.solution_);
10636 if (other.ObjectiveValue != 0D) {
10637 ObjectiveValue = other.ObjectiveValue;
10638 }
10639 if (other.BestObjectiveBound != 0D) {
10640 BestObjectiveBound = other.BestObjectiveBound;
10641 }
10642 additionalSolutions_.Add(other.additionalSolutions_);
10643 tightenedVariables_.Add(other.tightenedVariables_);
10644 sufficientAssumptionsForInfeasibility_.Add(other.sufficientAssumptionsForInfeasibility_);
10645 if (other.integerObjective_ != null) {
10646 if (integerObjective_ == null) {
10647 IntegerObjective = new global::Google.OrTools.Sat.CpObjectiveProto();
10648 }
10649 IntegerObjective.MergeFrom(other.IntegerObjective);
10650 }
10651 if (other.InnerObjectiveLowerBound != 0L) {
10652 InnerObjectiveLowerBound = other.InnerObjectiveLowerBound;
10653 }
10654 if (other.NumIntegers != 0L) {
10655 NumIntegers = other.NumIntegers;
10656 }
10657 if (other.NumBooleans != 0L) {
10658 NumBooleans = other.NumBooleans;
10659 }
10660 if (other.NumFixedBooleans != 0L) {
10661 NumFixedBooleans = other.NumFixedBooleans;
10662 }
10663 if (other.NumConflicts != 0L) {
10664 NumConflicts = other.NumConflicts;
10665 }
10666 if (other.NumBranches != 0L) {
10667 NumBranches = other.NumBranches;
10668 }
10669 if (other.NumBinaryPropagations != 0L) {
10670 NumBinaryPropagations = other.NumBinaryPropagations;
10671 }
10672 if (other.NumIntegerPropagations != 0L) {
10673 NumIntegerPropagations = other.NumIntegerPropagations;
10674 }
10675 if (other.NumRestarts != 0L) {
10676 NumRestarts = other.NumRestarts;
10677 }
10678 if (other.NumLpIterations != 0L) {
10679 NumLpIterations = other.NumLpIterations;
10680 }
10681 if (other.WallTime != 0D) {
10682 WallTime = other.WallTime;
10683 }
10684 if (other.UserTime != 0D) {
10685 UserTime = other.UserTime;
10686 }
10687 if (other.DeterministicTime != 0D) {
10688 DeterministicTime = other.DeterministicTime;
10689 }
10690 if (other.GapIntegral != 0D) {
10691 GapIntegral = other.GapIntegral;
10692 }
10693 if (other.SolutionInfo.Length != 0) {
10694 SolutionInfo = other.SolutionInfo;
10695 }
10696 if (other.SolveLog.Length != 0) {
10697 SolveLog = other.SolveLog;
10698 }
10699 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
10700 }
10701
10702 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10703 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10704 public void MergeFrom(pb::CodedInputStream input) {
10705 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10706 input.ReadRawMessage(this);
10707 #else
10708 uint tag;
10709 while ((tag = input.ReadTag()) != 0) {
10710 if ((tag & 7) == 4) {
10711 // Abort on any end group tag.
10712 return;
10713 }
10714 switch(tag) {
10715 default:
10716 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
10717 break;
10718 case 8: {
10719 Status = (global::Google.OrTools.Sat.CpSolverStatus) input.ReadEnum();
10720 break;
10721 }
10722 case 18:
10723 case 16: {
10724 solution_.AddEntriesFrom(input, _repeated_solution_codec);
10725 break;
10726 }
10727 case 25: {
10728 ObjectiveValue = input.ReadDouble();
10729 break;
10730 }
10731 case 33: {
10732 BestObjectiveBound = input.ReadDouble();
10733 break;
10734 }
10735 case 80: {
10736 NumBooleans = input.ReadInt64();
10737 break;
10738 }
10739 case 88: {
10740 NumConflicts = input.ReadInt64();
10741 break;
10742 }
10743 case 96: {
10744 NumBranches = input.ReadInt64();
10745 break;
10746 }
10747 case 104: {
10748 NumBinaryPropagations = input.ReadInt64();
10749 break;
10750 }
10751 case 112: {
10752 NumIntegerPropagations = input.ReadInt64();
10753 break;
10754 }
10755 case 121: {
10756 WallTime = input.ReadDouble();
10757 break;
10758 }
10759 case 129: {
10760 UserTime = input.ReadDouble();
10761 break;
10762 }
10763 case 137: {
10764 DeterministicTime = input.ReadDouble();
10765 break;
10766 }
10767 case 162: {
10768 SolutionInfo = input.ReadString();
10769 break;
10770 }
10771 case 170: {
10772 tightenedVariables_.AddEntriesFrom(input, _repeated_tightenedVariables_codec);
10773 break;
10774 }
10775 case 177: {
10776 GapIntegral = input.ReadDouble();
10777 break;
10778 }
10779 case 186:
10780 case 184: {
10781 sufficientAssumptionsForInfeasibility_.AddEntriesFrom(input, _repeated_sufficientAssumptionsForInfeasibility_codec);
10782 break;
10783 }
10784 case 192: {
10785 NumRestarts = input.ReadInt64();
10786 break;
10787 }
10788 case 200: {
10789 NumLpIterations = input.ReadInt64();
10790 break;
10791 }
10792 case 210: {
10793 SolveLog = input.ReadString();
10794 break;
10795 }
10796 case 218: {
10797 additionalSolutions_.AddEntriesFrom(input, _repeated_additionalSolutions_codec);
10798 break;
10799 }
10800 case 226: {
10801 if (integerObjective_ == null) {
10802 IntegerObjective = new global::Google.OrTools.Sat.CpObjectiveProto();
10803 }
10804 input.ReadMessage(IntegerObjective);
10805 break;
10806 }
10807 case 232: {
10808 InnerObjectiveLowerBound = input.ReadInt64();
10809 break;
10810 }
10811 case 240: {
10812 NumIntegers = input.ReadInt64();
10813 break;
10814 }
10815 case 248: {
10816 NumFixedBooleans = input.ReadInt64();
10817 break;
10818 }
10819 }
10820 }
10821 #endif
10822 }
10823
10824 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
10825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
10826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
10827 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
10828 uint tag;
10829 while ((tag = input.ReadTag()) != 0) {
10830 if ((tag & 7) == 4) {
10831 // Abort on any end group tag.
10832 return;
10833 }
10834 switch(tag) {
10835 default:
10836 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
10837 break;
10838 case 8: {
10839 Status = (global::Google.OrTools.Sat.CpSolverStatus) input.ReadEnum();
10840 break;
10841 }
10842 case 18:
10843 case 16: {
10844 solution_.AddEntriesFrom(ref input, _repeated_solution_codec);
10845 break;
10846 }
10847 case 25: {
10848 ObjectiveValue = input.ReadDouble();
10849 break;
10850 }
10851 case 33: {
10852 BestObjectiveBound = input.ReadDouble();
10853 break;
10854 }
10855 case 80: {
10856 NumBooleans = input.ReadInt64();
10857 break;
10858 }
10859 case 88: {
10860 NumConflicts = input.ReadInt64();
10861 break;
10862 }
10863 case 96: {
10864 NumBranches = input.ReadInt64();
10865 break;
10866 }
10867 case 104: {
10868 NumBinaryPropagations = input.ReadInt64();
10869 break;
10870 }
10871 case 112: {
10872 NumIntegerPropagations = input.ReadInt64();
10873 break;
10874 }
10875 case 121: {
10876 WallTime = input.ReadDouble();
10877 break;
10878 }
10879 case 129: {
10880 UserTime = input.ReadDouble();
10881 break;
10882 }
10883 case 137: {
10884 DeterministicTime = input.ReadDouble();
10885 break;
10886 }
10887 case 162: {
10888 SolutionInfo = input.ReadString();
10889 break;
10890 }
10891 case 170: {
10892 tightenedVariables_.AddEntriesFrom(ref input, _repeated_tightenedVariables_codec);
10893 break;
10894 }
10895 case 177: {
10896 GapIntegral = input.ReadDouble();
10897 break;
10898 }
10899 case 186:
10900 case 184: {
10901 sufficientAssumptionsForInfeasibility_.AddEntriesFrom(ref input, _repeated_sufficientAssumptionsForInfeasibility_codec);
10902 break;
10903 }
10904 case 192: {
10905 NumRestarts = input.ReadInt64();
10906 break;
10907 }
10908 case 200: {
10909 NumLpIterations = input.ReadInt64();
10910 break;
10911 }
10912 case 210: {
10913 SolveLog = input.ReadString();
10914 break;
10915 }
10916 case 218: {
10917 additionalSolutions_.AddEntriesFrom(ref input, _repeated_additionalSolutions_codec);
10918 break;
10919 }
10920 case 226: {
10921 if (integerObjective_ == null) {
10922 IntegerObjective = new global::Google.OrTools.Sat.CpObjectiveProto();
10923 }
10924 input.ReadMessage(IntegerObjective);
10925 break;
10926 }
10927 case 232: {
10928 InnerObjectiveLowerBound = input.ReadInt64();
10929 break;
10930 }
10931 case 240: {
10932 NumIntegers = input.ReadInt64();
10933 break;
10934 }
10935 case 248: {
10936 NumFixedBooleans = input.ReadInt64();
10937 break;
10938 }
10939 }
10940 }
10941 }
10942 #endif
10943
10944 }
10945
10946 #endregion
10947
10948}
10949
10950#endregion Designer generated code
global::Google.Protobuf pb
global::Google.Protobuf.Reflection pbr
global::System.Collections.Generic scg
global::Google.Protobuf.Collections pbc
All affine 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)
This constraint forces a sequence of expressions to be accepted by an automaton.
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 affine expressions (a * var + b). The automaton is ran for exprs_size() "steps" and t...
pbc::RepeatedField< int > Vars
Legacy field.
pbc::RepeatedField< long > FinalStates
const int VarsFieldNumber
Field number for the "vars" field.
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)
const int ElementFieldNumber
Field number for the "element" field.
const int CircuitFieldNumber
Field number for the "circuit" field.
const int TableFieldNumber
Field number for the "table" field.
const int DummyConstraintFieldNumber
Field number for the "dummy_constraint" field.
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.
const int LinMaxFieldNumber
Field number for the "lin_max" field.
ConstraintOneofCase ConstraintCase
const int ReservoirFieldNumber
Field number for the "reservoir" field.
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.
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.
const int BoolXorFieldNumber
Field number for the "bool_xor" field.
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...
global::Google.OrTools.Sat.AllDifferentConstraintProto AllDiff
The all_diff constraint forces all variables to take different values.
const int AutomatonFieldNumber
Field number for the "automaton" field.
global::Google.OrTools.Sat.CumulativeConstraintProto Cumulative
The cumulative constraint ensures that for any integer point, the sum of the demands of the intervals...
const int RoutesFieldNumber
Field number for the "routes" field.
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.
const int ExactlyOneFieldNumber
Field number for the "exactly_one" field.
const int InverseFieldNumber
Field number for the "inverse" field.
static pb::MessageParser< ConstraintProto > Parser
global::Google.OrTools.Sat.CircuitConstraintProto Circuit
The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a li...
const int CumulativeFieldNumber
Field number for the "cumulative" field.
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...
const int IntModFieldNumber
Field number for the "int_mod" field.
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.
const int FloatingPointObjectiveFieldNumber
Field number for the "floating_point_objective" field.
override bool Equals(object other)
const int SearchStrategyFieldNumber
Field number for the "search_strategy" field.
pbc::RepeatedField< global::Google.OrTools.Sat.IntegerVariableProto > Variables
The associated Protos should be referred by their index in these fields.
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.
const int NameFieldNumber
Field number for the "name" field.
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.
const int ObjectiveFieldNumber
Field number for the "objective" field.
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.
bool ScalingWasExact
Internal field. Do not set. When we scale a FloatObjectiveProto to a integer version,...
const int IntegerAfterOffsetFieldNumber
Field number for the "integer_after_offset" field.
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...
const int ScalingFactorFieldNumber
Field number for the "scaling_factor" field.
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....
const int InnerObjectiveLowerBoundFieldNumber
Field number for the "inner_objective_lower_bound" field.
const int SolutionInfoFieldNumber
Field number for the "solution_info" field.
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 NumRestartsFieldNumber
Field number for the "num_restarts" field.
const int SolutionFieldNumber
Field number for the "solution" field.
const int NumBooleansFieldNumber
Field number for the "num_booleans" field.
string SolveLog
The solve log will be filled if the parameter log_to_response is set to true.
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 WallTimeFieldNumber
Field number for the "wall_time" field.
pbc::RepeatedField< long > Solution
A feasible solution to the given problem. Depending on the returned status it may be optimal or just ...
const int NumIntegerPropagationsFieldNumber
Field number for the "num_integer_propagations" field.
double GapIntegral
The integral of log(1 + absolute_objective_gap) over time.
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.
const int BestObjectiveBoundFieldNumber
Field number for the "best_objective_bound" field.
const int NumLpIterationsFieldNumber
Field number for the "num_lp_iterations" field.
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)
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.
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...
void MergeFrom(DecisionStrategyProto other)
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.
global::Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy DomainReductionStrategy
void WriteTo(pb::CodedOutputStream output)
global::Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy VariableSelectionStrategy
override bool Equals(object other)
const int VariablesFieldNumber
Field number for the "variables" field.
const int VariableSelectionStrategyFieldNumber
Field number for the "variable_selection_strategy" field.
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...
override bool Equals(object other)
const int NumRowsFieldNumber
Field number for the "num_rows" field.
pbc::RepeatedField< int > Entries
const int EntriesFieldNumber
Field number for the "entries" field.
static pb::MessageParser< DenseMatrixProto > Parser
The constraint target = vars[index]. This enforces that index takes one of the value in [0,...
global::Google.OrTools.Sat.LinearExpressionProto LinearIndex
All expressions below must be affine function with at most one variable.
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
pbc::RepeatedField< int > Vars
void MergeFrom(FloatObjectiveProto other)
bool Maximize
The optimization direction. The default is to minimize.
const int VarsFieldNumber
Field number for the "vars" field.
const int MaximizeFieldNumber
Field number for the "maximize" field.
override bool Equals(object other)
const int CoeffsFieldNumber
Field number for the "coeffs" field.
void WriteTo(pb::CodedOutputStream output)
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
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.
The two arrays of variable each represent a function, the second is the inverse of the first: f_direc...
void MergeFrom(InverseConstraintProto other)
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.
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 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.
void WriteTo(pb::CodedOutputStream output)
void MergeFrom(PartialVariableAssignment other)
Maintain a reservoir level within bounds. The water level starts at 0, and at any time,...
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
affine expressions.
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > LevelChanges
Currently, we only support constant level changes.
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. All expressions must be affi...
static pb::MessageParser< NodeExpressions > Parser
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
void WriteTo(pb::CodedOutputStream output)
override bool Equals(object other)
const int CycleSizesFieldNumber
Field number for the "cycle_sizes" field.
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.
void MergeFrom(SparsePermutationProto other)
pbc::RepeatedField< int > CycleSizes
EXPERIMENTAL. For now, this is meant to be used by the solver and not filled by clients.
pbc::RepeatedField< global::Google.OrTools.Sat.SparsePermutationProto > Permutations
A list of variable indices permutations that leave the feasible space of solution invariant....
override bool Equals(object 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...
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 VarsFieldNumber
Field number for the "vars" field.
const int NegatedFieldNumber
Field number for the "negated" field.
pbc::RepeatedField< long > Values
override bool Equals(object other)
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...
@ Optimal
An optimal feasible solution has been found.