MCPcopy Create free account
hub / github.com/NeuralNetworkVerification/Marabou / updateDnCExitCode

Method updateDnCExitCode

src/engine/DnCManager.cpp:270–304  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

268}
269
270void DnCManager::updateDnCExitCode()
271{
272 bool hasSat = false;
273 bool hasError = false;
274 bool hasQuitRequested = false;
275 for ( auto &engine : _engines )
276 {
277 Engine::ExitCode result = engine->getExitCode();
278 if ( result == Engine::SAT )
279 {
280 _engineWithSATAssignment = engine;
281 hasSat = true;
282 break;
283 }
284 else if ( result == Engine::ERROR )
285 hasError = true;
286 else if ( result == Engine::QUIT_REQUESTED )
287 hasQuitRequested = true;
288 }
289 if ( hasSat )
290 _exitCode = DnCManager::SAT;
291 else if ( _timeoutReached )
292 _exitCode = DnCManager::TIMEOUT;
293 else if ( _numUnsolvedSubQueries.load() <= 0 )
294 _exitCode = DnCManager::UNSAT;
295 else if ( hasQuitRequested )
296 _exitCode = DnCManager::QUIT_REQUESTED;
297 else if ( hasError )
298 _exitCode = DnCManager::ERROR;
299 else
300 {
301 ASSERT( false ); // This should never happen
302 _exitCode = DnCManager::NOT_DONE;
303 }
304}
305
306String DnCManager::getResultString()
307{

Callers

nothing calls this directly

Calls 1

getExitCodeMethod · 0.45

Tested by

no test coverage detected