From 5824112e27baaa39f04705a005dd8faeca28e425 Mon Sep 17 00:00:00 2001 From: Laurent Perron Date: Sat, 1 Sep 2018 08:48:43 +0200 Subject: [PATCH] fix issue 260 for the CP-SAT solver --- examples/tests/issue260.py | 10 ++++++++++ ortools/sat/python/cp_model.py | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 examples/tests/issue260.py diff --git a/examples/tests/issue260.py b/examples/tests/issue260.py new file mode 100644 index 0000000000..65ccbd2262 --- /dev/null +++ b/examples/tests/issue260.py @@ -0,0 +1,10 @@ +#from ortools.constraint_solver import pywrapcp +from ortools.sat.python import cp_model + +model = cp_model.CpModel() +y = model.NewIntVar(0, 3, 'y') +y == None + +#solver = pywrapcp.Solver('my solver') +#x = solver.IntVar(0, 3, 'var_name') +#x == None diff --git a/ortools/sat/python/cp_model.py b/ortools/sat/python/cp_model.py index c54f2717bb..d40179dad7 100644 --- a/ortools/sat/python/cp_model.py +++ b/ortools/sat/python/cp_model.py @@ -218,6 +218,8 @@ class IntegerExpression(object): return _ProductCst(self, -1) def __eq__(self, arg): + if arg is None: + return False if isinstance(arg, numbers.Integral): AssertIsInt64(arg) return BoundIntegerExpression(self, [arg, arg]) @@ -257,6 +259,8 @@ class IntegerExpression(object): return BoundIntegerExpression(self - arg, [1, INT_MAX]) def __ne__(self, arg): + if arg is None: + return True if isinstance(arg, numbers.Integral): AssertIsInt64(arg) if arg == INT_MAX: