18 public partial class Solver : IDisposable {
21 for (
int i = 0; i < count; ++i) {
29 for (
int i = 0; i < count; ++i) {
30 string var_name = name + i;
38 for (
int i = 0; i < count; ++i) {
46 for (
int i = 0; i < count; ++i) {
47 string var_name = name + i;
55 for (
int i = 0; i < count; ++i) {
63 for (
int i = 0; i < count; ++i) {
64 string var_name = name + i;
72 for (
int i = 0; i < count; ++i) {
80 for (
int i = 0; i < count; ++i) {
81 string var_name = name + i;
89 for (
int i = 0; i < rows; ++i) {
90 for (
int j = 0; j < cols; ++j) {
98 long min,
long max,
string name) {
100 for (
int i = 0; i < rows; ++i) {
101 for (
int j = 0; j < cols; ++j) {
102 string var_name = name +
"["+ i +
", " + j +
"]";
111 for (
int i = 0; i < rows; ++i) {
112 for (
int j = 0; j < cols; ++j) {
120 long[] values,
string name) {
122 for (
int i = 0; i < rows; ++i) {
123 for (
int j = 0; j < cols; ++j) {
124 string var_name = name +
"["+ i +
", " + j +
"]";
133 for (
int i = 0; i < rows; ++i) {
134 for (
int j = 0; j < cols; ++j) {
142 int[] values,
string name) {
144 for (
int i = 0; i < rows; ++i) {
145 for (
int j = 0; j < cols; ++j) {
146 string var_name = name +
"["+ i +
", " + j +
"]";
155 for (
int i = 0; i < rows; ++i) {
156 for (
int j = 0; j < cols; ++j) {
165 for (
int i = 0; i < rows; ++i) {
166 for (
int j = 0; j < cols; ++j) {
167 string var_name = name +
"["+ i +
", " + j +
"]";
180 for (
int i = 0; i < count; ++i) {
197 for (
int i = 0; i < count; ++i) {
214 for (
int i = 0; i < count; ++i) {
231 for (
int i = 0; i < count; ++i) {
243 int count = starts.Length;
245 for (
int i = 0; i < count; ++i) {
255 int count = starts.Length;
257 for (
int i = 0; i < count; ++i) {
265 pinned_decision_builder_ = db;
266 pinned_search_monitors_.Clear();
271 pinned_decision_builder_ = db;
272 pinned_search_monitors_.Clear();
273 pinned_search_monitors_.Add(sm1);
281 pinned_decision_builder_ = db;
282 pinned_search_monitors_.Clear();
283 pinned_search_monitors_.Add(sm1);
284 pinned_search_monitors_.Add(sm2);
292 pinned_decision_builder_ = db;
293 pinned_search_monitors_.Clear();
294 pinned_search_monitors_.Add(sm1);
295 pinned_search_monitors_.Add(sm2);
296 pinned_search_monitors_.Add(sm3);
305 pinned_decision_builder_ = db;
306 pinned_search_monitors_.Clear();
307 pinned_search_monitors_.Add(sm1);
308 pinned_search_monitors_.Add(sm2);
309 pinned_search_monitors_.Add(sm3);
310 pinned_search_monitors_.Add(sm4);
315 pinned_decision_builder_ = db;
316 pinned_search_monitors_.Clear();
317 pinned_search_monitors_.AddRange(monitors);
322 pinned_decision_builder_ =
null;
323 pinned_search_monitors_.Clear();
327 private System.Collections.Generic.List<
SearchMonitor> pinned_search_monitors_
332 public partial class IntExpr : PropagationBaseObject {
334 return a.solver().MakeSum(a, b);
337 return a.solver().MakeSum(a, v);
340 return a.solver().MakeSum(a, v);
343 return a.solver().MakeDifference(a, b);
346 return a.solver().MakeSum(a, -v);
349 return a.solver().MakeDifference(v, a);
352 return a.solver().MakeProd(a, b);
355 return a.solver().MakeProd(a, v);
358 return a.solver().MakeProd(a, v);
361 return a.solver().MakeDiv(a, v);
364 return a.solver().MakeModulo(a, v);
367 return a.solver().MakeOpposite(a);
413 public partial class Constraint : PropagationBaseObject, IConstraintWithStatus {
424 return a.solver().MakeSum(a.Var(), b.Var());
427 return a.solver().MakeSum(a.Var(), v);
430 return a.solver().MakeSum(a.Var(), v);
433 return a.solver().MakeDifference(a.Var(), b.Var());
436 return a.solver().MakeSum(a.Var(), -v);
439 return a.solver().MakeDifference(v, a.Var());
442 return a.solver().MakeProd(a.Var(), b.Var());
445 return a.solver().MakeProd(a.Var(), v);
448 return a.solver().MakeProd(a.Var(), v);
451 return a.solver().MakeDiv(a.Var(), v);
454 return a.solver().MakeOpposite(a.Var());