29 if (!(insertProgress && insertProgress->
aborted())) {
30 PART *pl = deconstruct_full_subtree(tree->get_leftson(), tree->
leftlen,
weight, insertProgress);
32 PART *pr = deconstruct_full_subtree(tree->get_rightson(), tree->
rightlen,
weight, insertProgress);
49 if (ptree) ptree->set_len(len);
55 void DeconstructedTree::deconstruct_full_rootnode(
const TreeNode *tree,
const double& weight,
arb_progress *insertProgress) {
65 PART *pl = deconstruct_full_subtree(tree->get_leftson(), root_length,
weight, insertProgress);
70 PART *pr = deconstruct_full_subtree(tree->get_rightson(), root_length,
weight, insertProgress);
87 PART *DeconstructedTree::deconstruct_partial_subtree(
const TreeNode *tree,
const GBT_LEN& len,
const double& weight,
const PART *partialTree,
arb_progress *insertProgress) {
101 if (!(insertProgress && insertProgress->
aborted())) {
102 PART *pl = deconstruct_partial_subtree(tree->get_leftson(), tree->
leftlen,
weight, partialTree, insertProgress);
104 PART *pr = deconstruct_partial_subtree(tree->get_rightson(), tree->
rightlen,
weight, partialTree, insertProgress);
121 if (ptree) ptree->set_len(len);
127 void DeconstructedTree::deconstruct_partial_rootnode(
const TreeNode *tree,
const double& weight,
const PART *partialTree,
arb_progress *insertProgress) {
139 PART *pl = deconstruct_partial_subtree(tree->get_leftson(), root_length,
weight, partialTree, insertProgress);
144 PART *pr = deconstruct_partial_subtree(tree->get_rightson(), root_length,
weight, partialTree, insertProgress);
164 void SpeciesSpace::add_tree_to_PART(
const TreeNode *tree,
PART& part)
const {
169 add_tree_to_PART(tree->get_leftson(), part);
170 add_tree_to_PART(tree->get_rightson(), part);
176 if (part) add_tree_to_PART(tree, *part);
void inc_insert_progress(arb_progress *insertProgress)
int get_species_index(const char *name) const
void put_part_from_partial_tree(PART *&part, const PART *partialTree, const TreeNode *node)
CONSTEXPR_INLINE bool is_similar(double d1, double d2, double eps)
static int weight[maxsites+1]
double get_weight() const
bool disjunct_from(const PART *other) const
bool equals(const PART *other) const
void add_members_from(const PART *source)
void put_artificial_part(PART *&part)
void put_part_from_complete_tree(PART *&part, const TreeNode *node)
PART * create_tree_PART(const TreeNode *tree, const double &weight) const
const PartitionSize * get_PartitionSize() const