]> git.lizzy.rs Git - plan9front.git/commitdiff
sat: satget: don't duplicate binary clauses
authoraiju <devnull@localhost>
Thu, 22 Mar 2018 13:35:52 +0000 (13:35 +0000)
committeraiju <devnull@localhost>
Thu, 22 Mar 2018 13:35:52 +0000 (13:35 +0000)
sys/src/libsat/satget.c

index 72d2789bd2c62b8dc6f14e90645c0e514047e7f0..ae5f5ccecb62e20ba9949ffc8aea7ef0a34ff760 100644 (file)
@@ -18,7 +18,7 @@ satget(SATSolve *s, int i, int *t, int n)
                }
        for(l = s->lit; l < s->lit + 2 * s->nvar; l++)
                for(k = 0; k < l->nbimp; k++)
-                       if(i-- == 0){
+                       if(l - s->lit < l->bimp[k] && i-- == 0){
                                if(n > 0) t[0] = -signf(l - s->lit);
                                if(n > 1) t[1] = signf(l->bimp[k]);
                                return 2;