Skip to content
Snippets Groups Projects
Commit d2a1ce3a authored by Jan Trávníček's avatar Jan Trávníček
Browse files

print minimize solution from generator

parent 031d744e
No related branches found
No related tags found
No related merge requests found
......@@ -14,13 +14,25 @@
 
#include <exception/CommonException.h>
 
#include <global/GlobalData.h>
namespace automaton {
 
namespace generate {
 
automaton::DFA < char, unsigned > MinimizeGenerator::generateMinimizeDFA ( size_t statesMinimal, size_t statesDuplicates, size_t statesUnreachable, size_t statesUseless, size_t alphabetSize, bool randomizedAlphabet, double density, size_t expectedSteps ) {
size_t limit = 10000;
std::stringstream ss;
auto backup = common::Streams::log;
common::Streams::log = ext::reference_wrapper < std::ostream > ( ss );
auto verbose = common::GlobalData::verbose;
common::GlobalData::verbose = true;
while ( limit -- ) {
ss.str ( "" );
automaton::DFA < char, unsigned > automaton = RandomAutomatonFactory2::generateDFA ( statesMinimal, statesDuplicates, statesUnreachable, statesUseless, alphabetSize, randomizedAlphabet, density );
 
size_t states = automaton.getStates ( ).size ( );
......@@ -43,6 +55,12 @@ automaton::DFA < char, unsigned > MinimizeGenerator::generateMinimizeDFA ( size_
if ( statesMinimal != states )
continue;
 
common::GlobalData::verbose = verbose;
common::Streams::log = backup;
if ( common::GlobalData::verbose )
common::Streams::log << ss.str ( );
return automaton;
}
 
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment