static void register_solver(planner *ego, solver *s) { slvdesc *n; int kind; if (s) { /* add s to solver list */ X(solver_use)(s); A(ego->nslvdesc < INFEASIBLE_SLVNDX); if (ego->nslvdesc >= ego->slvdescsiz) sgrow(ego); n = ego->slvdescs + ego->nslvdesc; n->slv = s; n->reg_nam = ego->cur_reg_nam; n->reg_id = ego->cur_reg_id++; A(strlen(n->reg_nam) < MAXNAM); n->nam_hash = X(hash)(n->reg_nam); kind = s->adt->problem_kind; n->next_for_same_problem_kind = ego->slvdescs_for_problem_kind[kind]; ego->slvdescs_for_problem_kind[kind] = ego->nslvdesc; ego->nslvdesc++; } }
static void register_solver(planner *ego, solver *s) { slvdesc *n; if (s) { /* add s to solver list */ X(solver_use)(s); if (ego->nslvdesc >= ego->slvdescsiz) sgrow(ego); n = ego->slvdescs + ego->nslvdesc++; n->slv = s; n->reg_nam = ego->cur_reg_nam; n->reg_id = ego->cur_reg_id++; A(strlen(n->reg_nam) < MAXNAM); n->nam_hash = X(hash)(n->reg_nam); } }