Java Reference

Java Reference

NotBooleanVariable.java
Go to the documentation of this file.
1 // Copyright 2010-2018 Google LLC
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13 
14 package com.google.ortools.sat;
15 
20 public final class NotBooleanVariable implements Literal {
21  public NotBooleanVariable(IntVar boolVar) {
22  this.boolVar = boolVar;
23  }
24 
26  @Override
27  public int getIndex() {
28  return -boolVar.getIndex() - 1;
29  }
30 
32  @Override
33  public Literal not() {
34  return boolVar;
35  }
36 
38  @Override
39  public String getShortString() {
40  return "not(" + boolVar.getShortString() + ")";
41  }
42 
43  private final IntVar boolVar;
44 }
String getShortString()
Returns a short string describing this literal.
The negation of a boolean variable.
Interface to describe a boolean variable or its negation.
Definition: Literal.java:17
int getIndex()
Internal: returns the index in the literal in the underlying CpModelProto.
NotBooleanVariable(IntVar boolVar)
int getIndex()
Internal, returns the index of the variable in the underlying CpModelProto.
Literal not()
Returns the negation of this literal.
An integer variable.
String getShortString()
Returns a short string describing the variable.