Currently the main search structure of the tree is
//by bipartitions
vector < vector < unsigned int > > searchtable; //number of biparts long by which trees with the bipart wide
vector < bool * > treetable; //number of biparts long by number of trees wide
vector < bool * > bipartitions; //number of biparts long by number of taxa wide
vector< unsigned int> length_of_bitstrings; //number of biparts long. value correlates to bipartitions
I'm moving to something more like
vector BipartitionTable;
Where a Bipartition hold's it's own bitstring, length of bitstring, the trees attached and the branchlengths.
This will cause some major code changes in all parts of TreeHouse, but really needs to happen.
The bipartitionTable.h file is a mess.
Currently the main search structure of the tree is
//by bipartitions vector < vector < unsigned int > > searchtable; //number of biparts long by which trees with the bipart wide vector < bool * > treetable; //number of biparts long by number of trees wide vector < bool * > bipartitions; //number of biparts long by number of taxa wide vector< unsigned int> length_of_bitstrings; //number of biparts long. value correlates to bipartitions
I'm moving to something more like
vector BipartitionTable;
Where a Bipartition hold's it's own bitstring, length of bitstring, the trees attached and the branchlengths.
This will cause some major code changes in all parts of TreeHouse, but really needs to happen.