697{
698 unsigned i;
699 unsigned *array;
701 fprintf(stdout,
"[Satoko] Checking for trail(%u) inconsistencies...\n", vec_uint_size(s->
trail));
702 vec_uint_duplicate(trail_dup, s->
trail);
703 vec_uint_sort(trail_dup, 1);
704 array = vec_uint_data(trail_dup);
705 for (i = 1; i < vec_uint_size(trail_dup); i++) {
706 if (array[i - 1] == lit_compl(array[i])) {
707 fprintf(stdout, "[Satoko] Inconsistent trail: %u %u\n", array[i - 1], array[i]);
709 return;
710 }
711 }
712 for (i = 0; i < vec_uint_size(trail_dup); i++) {
713 if (var_value(s, lit2var(array[i])) != lit_polarity(array[i])) {
714 fprintf(stdout,
"[Satoko] Inconsistent trail assignment: %u, %u\n", vec_char_at(s->
assigns, lit2var(array[i])), array[i]);
716 return;
717 }
718 }
719 fprintf(stdout, "[Satoko] Trail OK.\n");
720 vec_uint_print(trail_dup);
721 vec_uint_free(trail_dup);
722
723}
typedefABC_NAMESPACE_HEADER_START struct vec_uint_t_ vec_uint_t