Skip to content

Commit cc62806

Browse files
author
MatteolusBucket
committed
memory works
1 parent 6775885 commit cc62806

12 files changed

+82
-130
lines changed

Settings/config.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,6 @@
192192
MAXREP_MODALITY=type
193193

194194
MAXREP_NONMAXREP_COLOR=gray
195-
MAXREP_MAXREP_COLOR=yellow
196-
MAXREP_SUPERMAXIMAL_COLOR=yellow
197-
MAXREP_NEARSUPERMAXIMAL_COLOR=yellow
195+
MAXREP_MAXREP_COLOR=red
196+
MAXREP_SUPERMAXIMAL_COLOR=green
197+
MAXREP_NEARSUPERMAXIMAL_COLOR=blue

example/input_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ACACACACACCCCAAACACA
1+
makqiefndaarksleagvdrladtvkvtlgprgrnvvldkkwgaptitndgvtiareveledpyenlgaqlvkevatktndvagdgtttatvlaqalvkeglrnvaagaapaalkrgievsvdavserllenarpvegrqvadvaaisaqsreigdllaeafekvgkdgvitieesssmqtelvitegmqfdkgylspyfvtdperqeavledplilinqgkissiqdflpllekvlkaskplfiiaedvdgealstlivnrlrgtlnvvavkapgfgdrrkamlqdiatltgaqvispevglsldqvdldalgtarrvtvtkdtttivdgagteqdvagrvaqiraeldrtdsdwdreklqerlaklsggigvikvgaatevelkekkhriedavsstraaleegivagggsalvqaakalddsaevsalagdaatavslvkravtqplrwiaenagydgyvvvnrvselpdgdgfnaatgeyenliaagvidpvkvtrsalqnaasiaalvlttealvvekpeedeadhqghnhzmakiiafdeearrglerglntladavkvtlgprgrnvvlekkwgaptitndgvsiakeieledayekigaelvkevakktdevagdgtttatvlaqalvreglrnvaagadplslkrgiekavtavteqlldsakeietkdqiaatasisaadtqigeliaealdkvgkegvitveesntfgleleltegmrfdkgyisqyfvtdperqeailedpyilivnskisnvkdmvgilekvmqsgkplliiaedveaealatlivnkirgtfksvavkapgfgdrrkamltdiailtggqviaeeiglklenadldmlgqarkvvvtkdettivegagdaeqiagrvaqiraeiensdsdydreklqerlaklaggvavikagaatevelkerkhriedavrnakaaveegivagggvaliqagekafenlslegdeatganivkvaidaplkqiafnagfepgvvvdkvrglpageglnaatgeyedllaagvndpvkvtrsalqnaasiaglfltteavvadkpekkaaaapgaddmggmggmggfzmakriiynenarralekgmdilcesvavtlgpkgrnvvlekkfgapqivndgvtiakeielednientgvalirqaasktndaagdgtttatvlahamvkegmrnvvaganaislkrgiekaagflvekiaenarsvedstaiaqvgtisagnddevgqmianamdkvgkegvisleegksmttelevtegmrfekgyispyfatdtermeavldepyilltdkkitlvqdlvpvleqaaragkpllviaediekealatlvvnrlrgvlnvaavkapgfgdrrkamlediavltggqvitedaglkletaklemmgqarrititkdtttlvaegneadvqarceqirrqmdetessydkeklqerlaklaggvavikvgaatetemkdrklrledainstkaaveegivpgggttlahlgpqlaswaadnltgeeligativeraltaplkriaenagqngaviaervrekefnvgfdasvneftdmfaagivdpakvtrsalqnaasiagmvltteciisdkpepkenaptgagmggdfdyzmakriiynenarralekgmdilcesvavtlgpkgrnvvlekkfgapqivndgvtiakeielednientgvalirqaasktndaagdgtttatvlahamvkegmrnvvaganaislkrgiekaagflvekiaenarsvedstaiaqvgtisagnddevgqmianamdkvgkegvisleegksmttelevtegmrfekgyispyfatdtermeavldepyilltdkkitlvqdlvpvleqaaragkpllviaediekealatlvvnrlrgvlnvaavkapgfgdrrkamlediavltggqvitedaglkletaklemmgqarrititkdtttlvaegneadvqarceqirrqmdetessydkeklqerlaklaggvavikvgaatetemkdrklrledainstkaaveegivpgggttlahlgpqlaswaadnltgeeligativeraltaplkriaenagqngaviaervrekefnvgfdasvneftdmfaagivdpakvtrsalqnaasiagmvltteciisdkpepkenapagagmggdfdyzmaksiqydtaarhaleqgidllteavavtlgprgrnvvleqkfgppqivndgitiakeieldnplantgvallrqvaaktndaagdgtttavvlshamvkeglrniaaganpmairrgidqatqflldqiaehalpvkdsnaisqvgtiaagndetvgqmiaaamakvgqqgvisleegqsmqtevevtegmrfdkgyispyfvtdaermvttlddayllltdkkitlvnallpilenvtqtgkplviiaediekealatlvlnqlrgtvrvagvkapgfgdrrkdlladiavltggqvisedtgltlendtlemmgrarqvvitkdhttlisesneaavkarceqihrlidetdssfekeklherlaqlsggvavikvgaatetemkdrklkledainatqaaveegivpgggttlvhlapqledwsaehlvgdeligamilvrslsaplrqivenaglnggvvveqvktlpfntgydalnnqyvdmftagivdpakvtsaglrnaasiagmvltteciiaeqsqattkdlanagzmakeikfgeearkalesgvnkladtvkvtlgpkgrnvvldkkfgapmitndgvtiakeieledafenmgaqlvkevatktndvagdgtttatllaqamvreglknvaaganpmiirkgiskavdsavegikevsqkikgkediarvasisandevignliadamekvtndgvitveesktmgtnlevvegmqfdrgyvsaymitdtekmeavlddpyilitdkkisniqeilpileqivqqgkklviiaedvegealgtlvvnklrgtftcvavkapgfgdrrkamlqdiailtggeviteevglelkettleqlgrarqikvqkentiivdgagsqdelkkriasikaqieettsdfdreklqerlaklsggvaviqvgaatetemkekklriedalaatkaaveegivagggtalinaipkvaklldtvtgdektgvqiilraleepvrqiaanaglegsviveklknspvgtgfdalnekyvnmletgivdpakvtrsalqnaasvasmvlttesvvadkpekeapmpagmpggmggmggmyzmakeirfseearkaleigvnkladtvkvtigpkgrnvildkkfgsplitndgvtiakeieledpyenmgaqlvkevatktndvagdgtttatllaqaiireglknvaagsnpillrkgiqkavdtavatlkansrtienkesiaqvaaisagddeigkliaeamekvgndgvitveesksmgttlevvegmqfdrgyvsaymvtdvekmeatlsepyilitdkkisniqeilpileqivqqgrrlliiaedvegealstlvvnklrgtfevvavkapgfgdrrkamlediailtggrviseeigldlkeatldmlgkattvkiskenttivngageekaikdriaqikrqieettsefdkeklqerlaklsggvavievgaatetelkerklrmedalnatraaveegivpgggtalvavmdevealikdeqtaetktgiqivlkalqeplkqiainaglegavivenvrksdkdhgfdalneqyvnmidagiidptkvtrsalqnaasvaatlltteaavveiksdepampmgggmpgmmzmaakdvkfgadarqrmlrgvdiladavkvtlgpkgrnvvldksfgapritkdgvsvakeieladkfenmgaqmlrevasktndiagdgtttatvlaqaivreghkavaagmnpmdlkrgidkavavvieelkknakkvttpaetaqvgtisangeseigqmiseamqkvgsegvitveeakhfqteldvvegmqfdrgyispyfvtnpekmtadlenpyilihekklsslqpmlpllesvvqsgrplliiaedvdgealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgikletvtlnmlgtakkvhidkenttivdgagkaddikgrvkqiraqieetssdydreklqerlaklaggvavirvggstevevkerkdrvddalhatraaveegivpgggtalaratlkleglhyhnddqrvggdiirralqaplrqiahnagedgaviankvlenndynfgfdaqageyknlveagiidpakvvrtalqdaasvagllitteamvaerpekkaapaggpdmggmggmdfzmaakdvkfggdarqrmlrgvdiladavkvtlgpkgrnvvldksfgapritkdgvsvakeieladkfenmgaqmlrevasktndiagdgtttatvlaqaivreghkavaagmnpmdlkrgidkavaavveelkkntkkittpaetaqvgtisangeseigqmiseamqkvgsegvitveeakhfqteldvvegmqfdrgyispyfvtntekmtadlenpyilihekklsslqpmlplleavvqsgrplliiaedvdgealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgikletvtlpmlgtakkvridkenttivdgagksddikgrckqiraqieettsdydreklqerlaklaggvavirvggstevevkerkdrvddalhatraaveegivpgggtalarasanlshlhyhnddqrvggdiirkalqaplrqiahnagedgaviankvleskeyafgfdaqageyknlvdagiidptkvvrtalqdaasvagllitteamvaerpekkaapaggpdmggmggmdfzmaakdvkfggearqrmlrgvdiladavkvtlgpkgrnvvldksfgapritkdgvsvakeieladkfenmgaqmvrevasktndvagdgtttatvlaqaivreghkavaagmnpmdlkrgidkavaavveelkknakkvtspsetaqvgtisangekeigemislamqkvgsegvitveeakgiqteldvvegmqfdrgyispyfvtnaekmtadldnpyilihekklsslqpilpllesvvqsgrplviiaedvdgealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgiklesvtlpmlgtakkvhiskenttivegagnaddikgrcnqiraqveettsdydreklqerlaklaggvavirvggstevevkerkdrvddalhatraaveegivpgggtalarastalghlhyhnedqkvggeiirkalqaplrqiahnagedgaviagkvlenstytfgfdaqageykdlveagiidpmkvvrtalqdaasvagllitteamvaerpekkappmpggggmggmgdmdfzmaakdvkfgadarqrmlrgvdiladavkvtlgpkgrnvvldksfgapritkdgvsvakeieladkfenmgaqmlrevasktndiagdgtttatvlaqaivreghkavaagmnpmdlkrgidkavavvieelkknakkvttpaetaqvgtisangeseigqmiseamqkvgsegvitveeakhfqteldvvegmqfdrgyispyfvtnpekmtadlenpyilihekklsslqpmlpllesvvqsgrplliiaedvdgealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgikletvtlnmlgtakkvhidkenttivdgagkaddikgrvkqiraqieetssdydreklqerlaklaggvavirvggstevevkerkdrvddalhatraaveegivpgggtalaratlkleglhyhnddqrvggdiirralqaplrqiahnagedgaviankvlensdynfgfdaqageyknlveagiidpakvvrtalqdaasvagllitteamvaerpekkaapaggpdmggmggmdfzmaakdvkfgadarqrmlrgvdiladavkvtlgpkgrnvvldksfgapritkdgvsvakeieladkfenmgaqmlrevasktndiagdgtttatvlaqaivreghkavaagmnpmdlkrgidkavavvieelkknakkvttpaetaqvgtisangeseigqmiseamqkvgsegvitieeakhfqteldvvegmqfdrgyispyfvtnpekmtadlenpyilihekklsslqpmlpllesvvqsgrplliiaedvdgealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgikletvtlnmlgtakkvhidkenttivdgagkaddikgrvkqiraqieetssdydreklqerlaklaggvavirvggstevevkerkdrvddalhatraaveegivpgggtalaratlkldglhyhnddqrvggdiirralqaplrqiahnagedgaviankvlenndynfgfdaqageyknlveagiidpakvvrtalqdaasvagllitteamvaerpekkaapaggpdmggmggmdfzmaakdvkfggearqrmlrgvdiladavkvtlgpkgrnvvldksfgapritkdgvsvakeieladkfenmgaqmvrevasktndiagdgtttatvlaqaivregakavaagmnpmdlkrgidkavgvvveelkknakkittpaetaqvgtisangeaeigemiskamqkvgsegvitveeakglhteldvvegmqfdrgyispyfvtnaekmtvdldspyilihekklsslqpilplleavvqsgrplliiaedvdgealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgiklesvtldmlgtakkvhidkenttivegagnsegikgrcsqiraqieettsdydreklqerlaklaggvavirvggsteievkerkdrvddalhatraaveegivpgggtalarastklgglhfhnddqrvgadiirkalqaplrqiahnagedgaviagkvlendtytfgfdaqmgdykdlvaagiidpmkvvrtalqdaasvagllitteamvaerpekkapampeggmggmggmggmdfzmaakdvkfgagardkllrgvdiladavkvtlgpkgrnvvidksfgapritkdgvtvakeieladkfenlgaqlvrevaskqndlagdgtttatvlaqaiiregaksvaaglnpmdlkrgvdkavalvveelsaqtrkittsaevaqvgtlsangeaeigqmiaeamekvgnegvitveeakgiqteldvvegmqfdrgyvspyfitnaekmiaelenpyilinekklstlqpllpllesvvqsgrplvivaedvegealatlvvnklrgglkiaavkapgfgdrrkamlediailtggqvisedlgikletvtldmlgqaktiriekenttivdgagekadiqgrveqikaqieettsdydreklqerlaklaggvavirvggstevevkerkdrvddalhatraaveegivpgggvallrasqklvgvkadnndqqvgieivrraiqvplkqiaenagvdgavvagdvlrndtytfgydaqsgefkdlvaagiidptkvvrtalqdaasvasllittealiverpekkaapaggpgmgdmdfzmvkelefgeegrrvleegvnklaeavkvtlgpkgrnvileegfgaptitndgvtiakeidvknpfedlgaqtvkevatktndvagdgtttatvlaqaiiqegmknvaaganpmvlkkgiekaveqgvkeirnlstaiedkesiaqvasisaadeeignliadamekvgkdgvisveegrtmgtsletvegmqfdrgylspymatdqeemkanledpyilltdqkissvqdilpllekvaqegkqliivaedvegealatlvvnkirgtfdcvavkapgfgdrrkamlediavltggqvitedkglqlenatksmlgqarsitvtkddttivdgagadndiqqrveqlrrqientssdfdrekleerlaklaggvavvrvgaateteleekkhriedalsatraaveegivpgggtilidvlqglddlelegdeatgadivrraleaplrliadnaghegsviaervknkdkgigfdayngefvdmiesgivdpakvtrsalqnaasaaamllttetlivedededndggggapagaagggmpggmggmpgmmzmpkvlkfdeearralerginkvadtvgitlgpkgrnvvlekkfgsptitndgvtiakeieleepfenmgaqllkevasktndvagdgtttatvlartmirngmknvaagsngmlmrrgiekavdvivdelkkmsipvkdrakiaqvasisandrgigeliaeamskvgedgvitvedsqsvgttlemveglqfdkgyispymitdpermeatledayilindgkisnvkdllpvlekvvqtgkplliisedvegealatlvvnklrgilqvcavkapgfgerrkamlqdiaivtggqviseelgiklenadlsmlgrakkvrvtkeettivegagdseairkraaqikaeleeatseydkeklqerlaklvggvaviqvgaateteqkelkhriedalsatraaveegivagggvalincipalesfienlegdekigaqvvlralseplhliaenagyqgdvivekvrslpkgqglnaatgeyvdmieegiidplkvtrsalqnagsiaamvlttevlvadkpekketpkmpdmpdydzmpkmlkfdeearralerginkvadtvgvtlgpkgrnvvlekkfgsptitndgvtiakeieleepfenmgaqllkevasktndvagdgtttatvlaramirhgmknvaagangmlmrrgiekavdvvvdelkkmaipvkdrakiaqvasisandrgigeliaeamskvgedgvitvedsqsvgttlemveglqfdkgyispymitdpermeatledayilindgkisnvkdllpilekvvqtgkplliiaedvegealatlvvnklrgilqvcavkapgfgdrrkamlqdiaivtggqvvseelgiklenvdlsmlgrakkvrvtkeettivegagdpeairkraaqikaeleeatseydkeklqerlaklvggvaviqvgaateteqkelkhriedalsatraaveegivagggvallncmpalesfintlegdekigaqvvlnalpepmhliaenagfqgdvviekvrnlpkghglnaatgdyvdmieegiidplkvtrsalqnagsiaamvlttealvadkpekkeapkmpempdydzmakqilfdeearralekgvnalantvkvtlgpkgrnvvldkkfgapaitndgvtiardidledpfenmgaqlvkevatktndvagdgtttatllaqaiiregmrnvaaganpmivkkgiekavvtlveeikknskkvetkeaiaqvasisagdaeigkliaeamekvgkdgvitveesktmgtdldvvegmqfdrgyispymitdsdkmeavlsdpyilitdrkigaiadllpvlekvvqqgkelliiaedvegealatlvvnklrgtfravavkapgfgdrrkamledisiitggkviteelgrkldsvtledlgrarqvrvskeettivdgagqadeikarvnqirsqieettsdfdkeklqerlaklaggvaviqvgaatevelkekklriedalnatraaveegivpgggttyldiqdaldklnetgevktgilivrraieepvrqiacnaglegsvvvegvkkagkgvgfnalteeyvdmikagivdpakvtrsalqnaasiaamvltteslvadkpekeaaapagmggmggmggmggmggmmzmaakqvlfgddarvrivrgvnvlanavkttlgpkgrnvvlersfgaptvtkdgvsvakeielkdkfenigaqlvkdvasktsdnagdgtttatvlaqaivmeglkyvaagfnpidlkrgidkavaaavaelkkqskpvttskeiaqvgsisansdssigqiiadamdkvgkegvitvedgksleneldvv

src/ConfigParser.h

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
//
22
// Created by root on 4/29/18.
33
//
4+
#ifndef VISUALSUFFIXTREE_CONDIFPARSER_H
5+
#define VISUALSUFFIXTREE_CONDIFPARSER_H
6+
47
#include <string>
58
#include "utils/Utils.hpp"
69
#include <map>
710

8-
#ifndef VISUALSUFFIXTREE_CONDIFPARSER_H
9-
10-
#define VISUALSUFFIXTREE_CONDIFPARSER_H
11-
1211
class ConfigParser {
1312
public:
1413
ConfigParser(std::string configFileName, std::map<std::string, std::string> * configParameter);

src/ObjNode.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
//
22
// Created by alessia on 07/05/18.
33
//
4-
#include <string>
5-
64
#ifndef VISUALSUFFIXTREE_OBJNODE_H
75
#define VISUALSUFFIXTREE_OBJNODE_H
86

7+
#include <string>
8+
99
using namespace std;
1010

1111
class ObjNode{

src/SvgCreator.cpp

+3-7
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ SvgCreator::SvgCreator(char *inputFileName, char *outputFile, map<string, string
2323
std::cerr << "Error occurred in loading map" << std::endl;
2424
exit(-1);
2525
} //load all the node from the db into a local map
26+
else
27+
std::cout << "Load data complete. " << std::endl;
2628

2729
this->configParameter = configParameter;
2830

@@ -61,23 +63,17 @@ SvgCreator::SvgCreator(char *inputFileName, char *outputFile, map<string, string
6163
y0 = stoi(configParameter->at("WINDOW_HEIGHT")) - 100;
6264
}
6365

64-
6566
//for each element devo trasformarlo in tmp_basic_nodeinfo
6667
//todo future create an onject bigger than the normal node object to add more info
67-
for(int i = 1; i <= my_map.getNumberOfElement(); i++) //check theindex start and end ... problem with 0 element check the tree parser
68+
for(int i = 1; i <= my_map.getNumberOfElement(); i++)
6869
{
69-
//todo check for the double 1 presence
70-
std::cout << my_map.getNode(i)->get_index() << std::endl;
7170
tmp_basic_nodeInfo tmpNode = createTmpNode(my_map.getNode(i));
72-
7371
general_map.insert({my_map.getNode(i)->get_index(), tmpNode});
7472
}
7573

76-
7774
//set root
7875
setRootPosition(my_map.getNode(my_map.getNumberOfElement()));
7976
for(int i = 1; i <= my_map.getNumberOfElement(); i++){
80-
8177
//if not already insert generate the position
8278
if (plot_map.count(my_map.getNode(i)->get_index()) == 0) {
8379
setNodePosition(my_map.getNode(i), &my_map);

src/TreeParser.cpp

+4-11
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ TreeParser::TreeParser(char * inputFileName, char * outputFileName, map<string,
4242

4343
//create the node in this way is memory expensive
4444
//maybe I could have one unique node, add the element and in each loop save just his
45-
//serialization version.. todo think about
46-
NodeNew * nodeNew1 = new NodeNew(); //todo (optional) non creare inside , it depends
45+
46+
NodeNew * nodeNew1 = new NodeNew();
4747

4848
//Add element
4949
if(cst.id(*it) != 0){
50-
std::cout << "set index: " << cst.id(*it) << std::endl;
50+
//std::cout << "set index: " << cst.id(*it) << std::endl;
5151
nodeNew1->set_index((cst.id(*it)));
5252
nodeNew1->setDepth(cst.depth(*it));
5353
nodeNew1->setNodeDepth(cst.node_depth(*it));
@@ -68,14 +68,12 @@ TreeParser::TreeParser(char * inputFileName, char * outputFileName, map<string,
6868
for (int i = 0; i < new_alphabet->size(); i++) {
6969
const cst_t::char_type c = new_alphabet->at(i);
7070
nodeNew::index t = cst.id(cst.wl(*it, c));
71-
!!!capire come mai non si salva la mappa di wl!!!
7271
if (t != numberOfNode) { // == number of node when there isn't a valid wl
7372
pair<int, unsigned long> pair = {i, t};
7473
wl.insert(pair);
75-
std::cout << "add wl" << std::endl;
74+
//std::cout << "add wl" << std::endl;
7675
}
7776
}
78-
7977
nodeNew1->setWinerLink(&wl);
8078

8179

@@ -95,15 +93,10 @@ TreeParser::TreeParser(char * inputFileName, char * outputFileName, map<string,
9593
}
9694
}
9795

98-
9996
my_map.addNode(nodeNew1);
10097
}
101-
102-
103-
10498
}
10599

106-
107100
//my_map.showContent();
108101

109102
std::cout << "Tree max depth: " << tree_max_depth << std::endl;

src/TreeParser.h

+3-29
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,27 @@
11
//
22
// Created by root on 4/29/18.
33
//
4-
#include <string>
5-
#include <sdsl/suffix_trees.hpp>
6-
74
#ifndef VISUALSUFFIXTREE_TREEPARSER_H
85
#define VISUALSUFFIXTREE_TREEPARSER_H
96

7+
#include <string>
8+
#include <sdsl/suffix_trees.hpp>
9+
1010
using namespace std;
1111
using namespace sdsl;
1212

1313
typedef cst_sct3<> cst_t;
14-
1514
typedef cst_bfs_iterator<cst_t> iterator1;
1615

17-
class node_type;
1816

1917
class TreeParser {
2018

2119
public:
2220

2321
cst_t cst; //declare the suffix tree
2422

25-
bool VERBOSE;
26-
2723
TreeParser(char *inputFileName, char *outputFileName, map<string, string> *configParameter);
2824

29-
void printBinFile(string &s, std::ofstream &bin_out);
30-
31-
//void printNode(NodeInfo *nodeInfo, std::ofstream *bin_out);
32-
33-
string getEdge(cst_t *cst, iterator1 *it);
34-
3525
vector<cst_t::char_type> alphabet;
3626

3727
double p_pnorm_parameter;
@@ -42,17 +32,6 @@ class TreeParser {
4232

4333
int tree_max_depth = 0;
4434

45-
void setAlphabet(char *inputFileName, TreeParser *treeParser);
46-
47-
string print_node_info(cst_t *cst, iterator1 *it) {
48-
string msg = "\n\n\nNodeDepth: " + to_string(cst->node_depth(**it)) + " Depth: " + to_string(cst->depth(**it)) +
49-
"-[" + to_string(cst->lb(**it)) +
50-
"-" + to_string(cst->rb(**it)) +
51-
"]";//<< "\nAll String length: " << allstring_length << " parent length: " << parent_strLength << "\nEdge: " << edgeIdx <<"\nEdge coded: " << e.edgeToString(&edgeIdx) << std::endl;
52-
53-
return msg;
54-
}
55-
5635

5736
unsigned long nF( iterator1 *it){
5837

@@ -170,13 +149,8 @@ class TreeParser {
170149

171150
}
172151
}
173-
174152
return a;
175-
176153
}
177-
178-
179-
180154
};
181155

182156
#endif //VISUALSUFFIXTREE_TREEPARSER_H

src/node/Node_2.cpp

+23-17
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,19 @@
1212

1313

1414
NodeNew::NodeNew() {
15-
std::cout << "Nodes creator called\n" << std::endl;
15+
//std::cout << "Nodes creator called\n" << std::endl;
16+
17+
children = new std::vector<nodeNew::index>();
18+
winerLink = new std::map<int, nodeNew::index >;
1619
}
1720

1821
//Constructor from data
1922
NodeNew::NodeNew(std::string ss){
2023

21-
NodeNew::children = new std::vector<nodeNew::index>();
22-
NodeNew::winerLink;
24+
children = new std::vector<nodeNew::index>();
25+
winerLink = new std::map<int, nodeNew::index >;
2326

24-
std::cout << "Value read: " << ss << std::endl;
27+
//std::cout << "Value read: " << ss << std::endl;
2528

2629
std::string s;
2730

@@ -60,8 +63,8 @@ NodeNew::NodeNew(std::string ss){
6063
token = strtok(NULL, ":"); //check if correct todo
6164
value = strtok(NULL, ":");
6265
if(std::strcmp(token, "wlidx")== 0){
63-
std::pair<int, unsigned long> pair = {i, strtoul (value, NULL, 0)};
64-
NodeNew::winerLink->insert(pair);
66+
//std::pair<int, nodeNew::index > pair = {i, strtoul(value, NULL, 0)};
67+
NodeNew::winerLink->insert({i, strtoul(value, NULL, 0)});
6568
}else{
6669
std::cout << "Error in parsing wlidx" << std::endl;
6770
}
@@ -132,11 +135,11 @@ int NodeNew::serialize(std::ostringstream * valueStream) {
132135
}
133136
}
134137

135-
*valueStream << "klDivergence:" << numberOfChildren<< ":";
136-
*valueStream << "pNorm:" << numberOfChildren<< ":";
137-
*valueStream << "pNormNoParam:" << numberOfChildren<< ":";
138-
*valueStream << "hEntropy:" << numberOfChildren<< ":";
139-
*valueStream << "hEntropy2:" << numberOfChildren<< ":";
138+
*valueStream << "klDivergence:" << klDivergence<< ":";
139+
*valueStream << "pNorm:" << pNorm<< ":";
140+
*valueStream << "pNormNoParam:" << pNormNoParam<< ":";
141+
*valueStream << "hEntropy:" << hEntropy<< ":";
142+
*valueStream << "hEntropy2:" << hEntropy2<< ":";
140143

141144
return 0;
142145
}
@@ -241,9 +244,14 @@ std::map<int, unsigned long> * NodeNew::getWinerLink() const {
241244
}
242245

243246
void NodeNew::setWinerLink(std::map<int, nodeNew::index > * wl) {
244-
NodeNew::winerLink = new std::map<int, nodeNew::index >(); //support structure
245-
for (std::map<int,unsigned long>::iterator it=wl->begin(); it!=wl->end(); ++it)
246-
NodeNew::winerLink->insert({10,12});
247+
int i = 0;
248+
for (std::map<int, unsigned long>::iterator it = wl->begin(); it != wl->end(); ++it) {
249+
std::pair<int, nodeNew::index> pippo = {it->first, it->second};
250+
NodeNew::winerLink->insert(pippo);
251+
i += 1;
252+
}
253+
254+
setNumberOfWinerLink(i);
247255
}
248256

249257
nodeNew::klDivergence NodeNew::getKlDivergence() const {
@@ -295,9 +303,7 @@ nodeNew::frequency NodeNew::getFrequency() const {
295303
std::string NodeNew::toString() {
296304

297305
std::ostringstream oss;
298-
oss << "Node info\nKey: " << NodeNew::index <<
299-
"\nDepth: " << getDepth() ;
300-
306+
oss << "Node info\nKey: " << NodeNew::index << "\nDepth: " << getDepth() ;
301307

302308

303309
return oss.str();

0 commit comments

Comments
 (0)