From d2a1ce3a5d7ef34b221dadb2fb05d7fc78e74580 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 8 Nov 2017 11:41:22 +0100
Subject: [PATCH] print minimize solution from generator

---
 .../src/automaton/MinimizeGenerator.cpp        | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/alib2algo_experimental/src/automaton/MinimizeGenerator.cpp b/alib2algo_experimental/src/automaton/MinimizeGenerator.cpp
index ba482c6fe0..99ee9029fb 100644
--- a/alib2algo_experimental/src/automaton/MinimizeGenerator.cpp
+++ b/alib2algo_experimental/src/automaton/MinimizeGenerator.cpp
@@ -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;
 	}
 
-- 
GitLab