diff options
| -rw-r--r-- | src/sat/satoko/solver_api.c | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/src/sat/satoko/solver_api.c b/src/sat/satoko/solver_api.c index d404992e..0d073ec7 100644 --- a/src/sat/satoko/solver_api.c +++ b/src/sat/satoko/solver_api.c @@ -531,10 +531,14 @@ void satoko_write_dimacs(satoko_t *s, char *fname, int wrt_lrnt, int zero_var)          return;      }      fprintf(file, "p cnf %d %d\n", n_vars, wrt_lrnt ? n_orig + n_lrnts : n_orig); -    for (i = 0; i < vec_char_size(s->assigns); i++) -        if ( var_value(s, i) != VAR_UNASSING ) -            fprintf(file, "%d %d\n", var_value(s, i) == LIT_FALSE ? -(int)(i + !zero_var) : i + !zero_var, zero_var ? : 0); -     +    for (i = 0; i < vec_char_size(s->assigns); i++) { +        if ( var_value(s, i) != VAR_UNASSING ) { +            if (zero_var) +                fprintf(file, "%d\n", var_value(s, i) == LIT_FALSE ? -(int)(i) : i); +            else +                fprintf(file, "%d 0\n", var_value(s, i) == LIT_FALSE ? -(int)(i + 1) : i + 1); +        } +    }      array = vec_uint_data(s->originals);      for (i = 0; i < vec_uint_size(s->originals); i++)          clause_dump(file, clause_fetch(s, array[i]), !zero_var);  | 
