From: Hamed Gorjiara Date: Wed, 25 Jul 2018 05:11:02 +0000 (-0700) Subject: Fixing the killer sudoku X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9ff8a40ad752f8752eea51f96196afbcc7ef16a9;p=Benchmarks_CSolver.git Fixing the killer sudoku --- diff --git a/killerSudoku/csolversudoku.py b/killerSudoku/csolversudoku.py index d6a169c6..9391c6a6 100644 --- a/killerSudoku/csolversudoku.py +++ b/killerSudoku/csolversudoku.py @@ -27,7 +27,7 @@ def generateKillerSudokuConstraints(N, killerRules): sj = csolverlb.getElementRange(solver,ej) d = [si,sj] domain = (c_void_p *len(d))(*d) - equals = csolverlb.createPredicateOperator(solver, c_uint(ps.CompOp.SATC_EQUALS), domain, c_uint(2)) + equals = csolverlb.createPredicateOperator(solver, c_uint(ps.CompOp.SATC_EQUALS)) inp = [ei,ej] inputs = (c_void_p*len(inp))(*inp) b = csolverlb.applyPredicate(solver,equals, inputs, c_uint(2)) @@ -47,13 +47,13 @@ def generateKillerSudokuConstraints(N, killerRules): overflow = csolverlb.getBooleanVar(solver, c_uint(2)); esum = csolverlb.getElementConst(solver, c_uint(3), c_long(sumCage)) setSum = csolverlb.getElementRange(solver, esum) - f1 = csolverlb.createFunctionOperator(solver, ps.ArithOp.SATC_ADD, domains, c_uint(len(d)), setSum, ps.OverFlowBehavior.SATC_OVERFLOWSETSFLAG); + f1 = csolverlb.createFunctionOperator(solver, ps.ArithOp.SATC_ADD, setSum, ps.OverFlowBehavior.SATC_OVERFLOWSETSFLAG); inputs = (c_void_p*len(elements))(*elements) added = csolverlb.applyFunction(solver, f1, inputs, len(elements), overflow); d = [setSum,setSum] domain = (c_void_p *len(d))(*d) - equals = csolverlb.createPredicateOperator(solver, c_uint(ps.CompOp.SATC_EQUALS), domain, c_uint(len(d))) + equals = csolverlb.createPredicateOperator(solver, c_uint(ps.CompOp.SATC_EQUALS)) inp = [added,esum] inputs = (c_void_p*len(inp))(*inp) b = csolverlb.applyPredicate(solver,equals, inputs, c_uint(len(inp))) @@ -78,7 +78,7 @@ def generateKillerSudokuConstraints(N, killerRules): 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), domain, c_uint(2)) + 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)))