From 3c8bf3f9032e630b91181e791739eacae39f23c5 Mon Sep 17 00:00:00 2001 From: Laurent Perron Date: Tue, 5 Jan 2016 23:10:24 +0100 Subject: [PATCH] export NumericalRevInteger in python --- examples/python/slitherlink.py | 8 ++--- .../python/constraint_solver.swig | 29 +++++++++++++++++-- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/examples/python/slitherlink.py b/examples/python/slitherlink.py index 823c564b82..6977abe5bd 100644 --- a/examples/python/slitherlink.py +++ b/examples/python/slitherlink.py @@ -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() diff --git a/src/constraint_solver/python/constraint_solver.swig b/src/constraint_solver/python/constraint_solver.swig index d31a9f461d..7f9f10514a 100644 --- a/src/constraint_solver/python/constraint_solver.swig +++ b/src/constraint_solver/python/constraint_solver.swig @@ -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()