/*
 * MinimizeBrzozowski.cpp
 *
 *  Created on: 18. 11. 2014
 *	  Author: Tomas Pecka
 */

#include "MinimizeBrzozowski.h"

namespace automaton {

namespace simplify {

automaton::Automaton MinimizeBrzozowski::minimize(const automaton::Automaton& automaton) {
	automaton::Automaton res = dispatch(automaton.getData());
	res.normalize ( );
	return res;
}

auto MinimizeBrzozowskiDFA = MinimizeBrzozowski::RegistratorWrapper<automaton::DFA < DefaultSymbolType, std::set < std::set < DefaultStateType > > >, automaton::DFA < > >(MinimizeBrzozowski::minimize);
auto MinimizeBrzozowskiNFA = MinimizeBrzozowski::RegistratorWrapper<automaton::DFA < DefaultSymbolType, std::set < std::set < DefaultStateType > > >, automaton::NFA < > >(MinimizeBrzozowski::minimize);

} /* namespace simplify */

} /* namespace automaton */