// g++ test_PC.cpp libsmile.a libsmilearn.a -L./lib 

#include <iostream>
#include "lib/smile.h"
#include "lib/smilearn.h"

using namespace std;

int main()
{  

	DSL_dataset d;
	if(d.ReadFile("pc.txt") != DSL_OKAY) {
        cout << "Cannot read data file... exiting." << endl;
        exit(1);
  	}

  	DSL_network result;

	// learn with PC
	DSL_pc pc;
	DSL_pattern * pat = new DSL_pattern();
	if (pc.Learn(d, *pat)!=DSL_OKAY)
	{
		cout << "PC Learning failed." << endl;
		return(-1);
	}
	pat->ToNetwork(d, result);
	result.WriteFile("pc.xdsl");
   	delete pat;

   	cout << "Done with PC" << endl;

   	// learn with BS
	DSL_greedyThickThinning gtt;
	if (gtt.Learn(d, result)!=DSL_OKAY)
	{
		cout << "GTT Learning failed." << endl;
		return(-1);
	}
	result.WriteFile("gtt.xdsl");

	cout << "Done with GTT" << endl;

	return(DSL_OKAY);
};