export NumericalRevInteger in python

This commit is contained in:
Laurent Perron
2016-01-05 23:10:24 +01:00
parent 8fc315dbb9
commit 3c8bf3f903
2 changed files with 30 additions and 7 deletions

View File

@@ -35,8 +35,8 @@ class BooleanSumEven(pywrapcp.PyConstraint):
def __init__(self, solver, vars):
pywrapcp.PyConstraint.__init__(self, solver)
self.__vars = vars
self.__num_possible_true_vars = pywrapcp.RevInteger(0)
self.__num_always_true_vars = pywrapcp.RevInteger(0)
self.__num_possible_true_vars = pywrapcp.NumericalRevInteger(0)
self.__num_always_true_vars = pywrapcp.NumericalRevInteger(0)
def Post(self):
for i in range(len(self.__vars)):
@@ -71,9 +71,9 @@ class BooleanSumEven(pywrapcp.PyConstraint):
solver = self.solver()
value = self.__vars[index].Value()
if value == 0:
self.__num_possible_true_vars.SetValue(solver, self.__num_possible_true_vars.Value() - 1)
self.__num_possible_true_vars.Decr(solver)
else:
self.__num_always_true_vars.SetValue(solver, self.__num_always_true_vars.Value() + 1)
self.__num_always_true_vars.Incr(solver)
num_possible = self.__num_possible_true_vars.Value()
num_always = self.__num_always_true_vars.Value()

View File

@@ -1148,9 +1148,6 @@ namespace operations_research {
// - DecisionVisitor
// - ModelVisitor
// - CastConstraint
// - NumericalRev<>
// - RevArray<>
// - NumericalRevArray<>
// - NoGood
// - NoGoodManager
// - AssignmentElement
@@ -1362,6 +1359,32 @@ namespace operations_research {
%unignore Rev::Value;
%unignore Rev::SetValue;
// RevArray<>
%unignore RevArray;
%unignore RevArray::RevArray;
%unignore RevArray::Value;
%unignore RevArray::SetValue;
%rename (__len__) RevArray::size;
// NumericalRev<>
%unignore NumericalRev;
%unignore NumericalRev::NumericalRev;
%unignore NumericalRev::Add;
%unignore NumericalRev::Decr;
%unignore NumericalRev::Incr;
%unignore NumericalRev::SetValue;
%unignore NumericalRev::Value;
// NumericalRevArray<>
%unignore NumericalRevArray;
%unignore NumericalRevArray::NumericalRevArray;
%unignore NumericalRevArray::Add;
%unignore NumericalRevArray::Decr;
%unignore NumericalRevArray::Incr;
%unignore NumericalRevArray::SetValue;
%unignore NumericalRevArray::Value;
%rename (__len__) NumericalRevArray::size;
// IntExpr
// Ignored:
// - IntExpr()