Go to the documentation of this file.
14 package com.google.ortools.sat;
22 IntVar(CpModelProto.Builder builder, Domain domain, String name) {
23 this.modelBuilder = builder;
24 this.variableIndex = modelBuilder.getVariablesCount();
25 this.varBuilder = modelBuilder.addVariablesBuilder();
26 this.varBuilder.setName(name);
27 for (
long b : domain.flattenedIntervals()) {
28 this.varBuilder.addDomain(b);
30 this.negation_ =
null;
35 return varBuilder.toString();
40 return varBuilder.getName();
75 if (varBuilder.getName().isEmpty()) {
76 if (varBuilder.getDomainCount() == 2 && varBuilder.getDomain(0) == varBuilder.getDomain(1)) {
77 return String.format(
"%d", varBuilder.getDomain(0));
89 for (
int i = 0; i < varBuilder.getDomainCount(); i += 2) {
93 if (varBuilder.getDomain(i) == varBuilder.getDomain(i + 1)) {
94 out += String.format(
"%d", varBuilder.getDomain(i));
96 out += String.format(
"%d..%d", varBuilder.getDomain(i), varBuilder.getDomain(i + 1));
105 if (negation_ ==
null) {
106 negation_ =
new NotBooleanVariable(
this);
111 private final CpModelProto.Builder modelBuilder;
112 private final int variableIndex;
113 private final IntegerVariableProto.Builder varBuilder;
114 private NotBooleanVariable negation_;