43 if (v >= solv->
infarchrules && v < solv->infarchrules_end)
53 if (v >= solv->
duprules && v < solv->duprules_end)
66 if (v >= solv->
updaterules && v < solv->updaterules_end)
78 for (i = solv->
jobrules, r = solv->
rules + i; i < solv->jobrules_end; i++, r++, jp++)
96 if (v >= solv->
infarchrules && v < solv->infarchrules_end)
106 if (v >= solv->
duprules && v < solv->duprules_end)
116 if (v >= solv->
featurerules && v < solv->featurerules_end)
124 if (v >= solv->
updaterules && v < solv->updaterules_end)
135 for (i = solv->
jobrules, r = solv->
rules + i; i < solv->jobrules_end; i++, r++, jp++)
154 for (i = 1, r = solv->
rules + i; i < solv->learntrules; i++, r++)
188 for (i = 0; problem[i]; i++)
190 if (problem[i] == sug)
204 for (i = 0; problem[i]; i++)
205 if (problem[i] != sug)
210 else if (sug >= solv->
updaterules && sug < solv->updaterules_end)
222 int njob, nfeature, nupdate, pass;
236 disabledcnt = disabled.
count;
238 njob = nfeature = nupdate = 0;
239 for (pass = 0; pass < 2; pass++)
252 for (j = 0; problem[j]; j++)
253 if (problem[j] == v || (pass && problem[j] == sug))
258 if (v >= solv->
featurerules && v < solv->featurerules_end)
270 if (disabled.
count != disabledcnt)
273 if (disabled.
count == disabledcnt)
280 if (!njob && nupdate && nfeature)
284 for (i = j = disabledcnt; i < disabled.
count; i++)
293 if (disabled.
count == disabledcnt + 1)
300 if (v >= solv->
updaterules && v < solv->updaterules_end)
318 for (i = disabledcnt; i < disabled.
count; i++)
321 for (i = disabledcnt; i < disabled.
count; i++)
325 if (v >= solv->
updaterules && v < solv->updaterules_end)
336 for (i = 0; i < disabled.
count; i++)
340 for (i = 0; problem[i]; i++)
344 for (i = 0; problem[i]; i++)
361 Id a = *(
Id *)ap, b = *(
Id *)bp;
390 if (why >= solv->
infarchrules && why < solv->infarchrules_end)
394 assert(solv->
rules[why].
p < 0);
411 if (why >= solv->
duprules && why < solv->duprules_end)
415 assert(solv->
rules[why].
p < 0);
432 if (why >= solv->
updaterules && why < solv->updaterules_end)
438 assert(why >= solv->
updaterules && why < solv->updaterules_end);
440 rr = solv->
rules + why;
450 rr = solv->
rules + why;
493 int i, j = 1, idx = 1;
525 Queue problem, solution, problems_save;
556 if (problem.
count > 1)
561 for (i = 0; i < problem.
count; i++)
562 printf(
"PP %d %d\n", i, problem.
elements[i]);
569 for (i = 0; i < problem.
count; i++)
574 for (j = 0; j < solution.
count; j++)
579 if (nsol || i + 1 < problem.
count)
593 for (j = 0; j < problem.
count; j++)
620 for (i = 0; i < redoq.
count; i += 3)
649 return (problem + 1) * 2 - 1 < solv->
problems.
count ? problem + 1 : 0;
710 solidx += 1 + element * 2;
729 if (rp <= 0 && p <= 0)
738 for (i = 0; i < job->
count; i += 2)
747 Id p, rp, element = 0;
762 Id lreqr, lconr, lsysr, ljobr;
772 r = solv->
rules + rid;
773 d = r->
d < 0 ? -r->
d - 1 : r->
d;
774 if (!d && r->
w2 == 0 && r->
p > 0)
783 lreqr = lconr = lsysr = ljobr = 0;
789 else if ((rid >= solv->
jobrules && rid < solv->jobrules_end) || (rid >= solv->
infarchrules && rid < solv->infarchrules_end) || (rid >= solv->
duprules && rid < solv->duprules_end))
794 else if (rid >= solv->
updaterules && rid < solv->updaterules_end)
801 assert(rid < solv->rpmrules_end);
802 r = solv->
rules + rid;
803 d = r->
d < 0 ? -r->
d - 1 : r->
d;
811 if (!d && r->
w2 == 0 && reqset < 3)
813 if (*reqrp > 0 && r->
p < -1)
823 else if (jobassert && r->
p == -jobassert)
840 if (!*reqrp && lreqr)
842 if (!*conrp && lconr)
844 if (!*jobrp && ljobr)
846 if (!*sysrp && lsysr)
862 Id reqr, conr, sysr, jobr;
864 reqr = conr = sysr = jobr = 0;