}
}
+int
+solver_decisionlist_merged(Solver *solv, Queue *decisionlistq, int pos)
+{
+ int cnt = 0;
+ for (; pos < decisionlistq->count; pos += 8, cnt++)
+ if ((decisionlistq->elements[pos + 3] & DMS_MERGED) == 0)
+ break;
+ return cnt;
+}
+
/* special version of solver_ruleinfo2str which supports merged decisions */
const char *
solver_decisioninfo2str(Solver *solv, int bits, int type, Id from, Id to, Id dep)
solver_create_state_maps;
solver_create_transaction;
solver_decisioninfo2str;
+ solver_decisionlist_merged;
solver_decisionlist_solvables;
solver_decisionreason2str;
solver_describe_decision;
extern void solver_get_decisionlist_multiple(Solver *solv, Queue *pq, int flags, Queue *decisionlistq);
extern void solver_get_learnt(Solver *solv, Id id, int flags, Queue *q);
extern void solver_decisionlist_solvables(Solver *solv, Queue *decisionlistq, int pos, Queue *q);
+extern int solver_decisionlist_merged(Solver *solv, Queue *decisionlistq, int pos);
extern int solver_alternatives_count(Solver *solv);
extern int solver_get_alternative(Solver *solv, Id alternative, Id *idp, Id *fromp, Id *chosenp, Queue *choices, int *levelp);