void BasicSatConfig::prepare(SharedContext& ctx) { uint32 warn = 0; for (uint32 i = 0, end = solver_.size(), mod = search_.size(); i != end; ++i) { warn |= solver_[i].prepare(); warn |= search_[i%mod].prepare(solver_[i].search != SolverStrategies::no_learning); } if ((warn & 1) != 0) { ctx.report(warning(Event::subsystem_facade, "Selected heuristic requires lookback strategy!")); } if ((warn & 2) != 0) { ctx.report(warning(Event::subsystem_facade, "Heuristic 'Unit' implies lookahead. Using atom.")); } }
bool ProgramBuilder::startProgram(SharedContext& ctx) { ctx.report(message(Event::subsystem_load, "Reading")); ctx_ = &ctx; min_ = 0; minCon_ = 0; frozen_ = ctx.frozen(); return ctx_->ok() && doStartProgram(); }