Bug fix
[Benchmarks_CSolver.git] / killerSudoku / csolversudoku.py
index a333277b01a5de5a7df977da6a3d8d1400e670c8..ed20da85d7b1bb2a5abf862c89351d07402abc8a 100644 (file)
@@ -189,27 +189,27 @@ def generateKillerSudokuConstraints(N, killerRules, serialize):
        # Ensure there's no undefined element (for each cell we have a rule)
        validateElements(problem)
        # ensure each cell at least has one value!
-       for i,row in enumerate(problem):
-               for j, elem in enumerate(row):
-                       constr = []
-                       for econst in elemConsts:
-                               s1 = csolverlb.getElementRange(solver, elem)
-                               sconst = csolverlb.getElementRange(solver,econst)
-                               d = [s1,sconst]
-                               domain = (c_void_p *len(d))(*d)
-                               equals = csolverlb.createPredicateOperator(solver, c_uint(ps.CompOp.SATC_EQUALS))
-                               inp = [elem,econst]
-                               inputs = (c_void_p*len(inp))(*inp)
-                               constr.append( csolverlb.applyPredicate(solver,equals, inputs, c_uint(2)))
-                       b = (c_void_p*len(constr))(*constr)
-                       b = csolverlb.applyLogicalOperation(solver, ps.LogicOps.SATC_OR, b, len(constr))
-                       csolverlb.addConstraint(solver,b);
+#      for i,row in enumerate(problem):
+#              for j, elem in enumerate(row):
+#                      constr = []
+#                      for econst in elemConsts:
+#                              s1 = csolverlb.getElementRange(solver, elem)
+#                              sconst = csolverlb.getElementRange(solver,econst)
+#                              d = [s1,sconst]
+#                              domain = (c_void_p *len(d))(*d)
+#                              equals = csolverlb.createPredicateOperator(solver, c_uint(ps.CompOp.SATC_EQUALS))
+#                              inp = [elem,econst]
+#                              inputs = (c_void_p*len(inp))(*inp)
+#                              constr.append( csolverlb.applyPredicate(solver,equals, inputs, c_uint(2)))
+#                      b = (c_void_p*len(constr))(*constr)
+#                      b = csolverlb.applyLogicalOperation(solver, ps.LogicOps.SATC_OR, b, len(constr))
+#                      csolverlb.addConstraint(solver,b);
        
        
        #ensure each cell at least has one value
-#      for i,row in enumerate(problem):
-#              for j, elem in enumerate(row):
-#                      csolverlb.mustHaveValue(solver, elem)
+       for i,row in enumerate(problem):
+               for j, elem in enumerate(row):
+                       csolverlb.mustHaveValue(solver, elem)
 
        # ensure rows have distinct values
        for i in range( N):