#include "stdafx.h"
#include <iostream>
#include <stack>
#include <sstream>
#include <math.h>
#include <string>
#include <fstream>
using namespace std;

#include "myExcept.h"
#include "PLA_type.h"
#include "bitvector.h"
#include "Term.h"
#include "utils.h"
#include "TTree.h"
#include "Graph.h"

#include "PLA.h"
#include "graph.h"

int main()
{
	PLA *pla = new PLA();
	pla->LoadPLA("vstup");

	Graph *g = new Graph();
	g->ConstructFromBoomPLA(pla);
	cout << g->GenerateStreamForPLA();

	Graph *h = g->Complement();
	PLA *pla2 = h->GetPLA();
	pla2->SavePLA("vystup");

	g->Orthogonalization(false);
	PLA *pla3 = g->GetPLA(pla);
	pla3->SavePLA("vystup2");

	system("PAUSE");
	return 0;
}