All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages

tree/function/functions.hpp File Reference

Go to the source code of this file.

## Namespaces | |

genesis | |

Container namespace for all symbols of genesis in order to keep them separate when used as a library. | |

genesis::tree | |

## Functions | |

size_t | degree (TreeNode const &node) |

Return the degree of the node, i.e. how many neighbouring nodes it has. More... | |

size_t | edge_count (Tree const &tree) |

Return the number of Edges of a Tree. Same as Tree::edge_count(). More... | |

utils::Matrix< signed char > | edge_sides (Tree const &tree) |

Create a Matrix that indiciaces the relative position of the Edges of a Tree, i.e., whether they are on the root side or non-root side. More... | |

size_t | inner_edge_count (Tree const &tree) |

Return the number of Edges of a Tree that do not lead to a leaf Node. More... | |

std::vector< size_t > | inner_edge_indices (Tree const &tree) |

Get a list of the edge indices of all inner edges, that is, all TreeEdges that do not lead to a leaf TreeNode. More... | |

size_t | inner_node_count (Tree const &tree) |

Count the number of inner Nodes. More... | |

std::vector< size_t > | inner_node_indices (Tree const &tree) |

Get a list of the node indices of all inner TreeNodes. More... | |

bool | is_bifurcating (Tree const &tree, bool strict=false) |

Return whether the Tree is bifurcating. More... | |

bool | is_inner (TreeLink const &link) |

Return true iff the node of the given link is an inner node. More... | |

bool | is_inner (TreeEdge const &edge) |

Return true iff the secondary node (outwards) of the given edge is an inner node. More... | |

bool | is_inner (TreeNode const &node) |

Return whether the node is an inner node. More... | |

bool | is_leaf (TreeLink const &link) |

Return true iff the node of the given link is a leaf node. More... | |

bool | is_leaf (TreeEdge const &edge) |

Return true iff the secondary node (outwards) of the given edge is a leaf node. More... | |

bool | is_leaf (TreeNode const &node) |

Return whether the node is a leaf/tip. More... | |

bool | is_root (TreeNode const &node) |

Return whether the node is the root of its Tree. More... | |

bool | is_rooted (Tree const &tree) |

Return whether the Tree is rooted, that is, whether the root node has two neighbors. More... | |

size_t | leaf_edge_count (Tree const &tree) |

Return the number of Edges of a Tree that lead to a leaf Node. More... | |

std::vector< size_t > | leaf_edge_indices (Tree const &tree) |

Get a list of the edge indices of all leaf edges, that is, all TreeEdges that lead to a leaf TreeNode. More... | |

size_t | leaf_node_count (Tree const &tree) |

Count the number of leaf Nodes of a Tree. More... | |

std::vector< size_t > | leaf_node_indices (Tree const &tree) |

Get a list of the node indices of all leaf TreeNodes. More... | |

TreeNode const & | lowest_common_ancestor (TreeNode const &node_a, TreeNode const &node_b) |

Return the lowest common ancestor of two TreeNodes. More... | |

TreeNode & | lowest_common_ancestor (TreeNode &node_a, TreeNode &node_b) |

Return the lowest common ancestor of two TreeNodes. More... | |

utils::Matrix< size_t > | lowest_common_ancestors (Tree const &tree) |

Return the lowest common ancestor of each pair of TreeNodes for a given tree, in form of a Matrix of their indices. More... | |

size_t | max_degree (Tree const &tree) |

Return the highest degree of the Nodes of a Tree. More... | |

size_t | node_count (Tree const &tree) |

Return the number of Nodes of a Tree. Same as Tree::node_count(). More... | |

utils::Matrix< signed char > | node_root_direction_matrix (Tree const &tree) |

Calculate a Matrix that indicates the nodes on the root side of a given node. More... | |

std::vector< TreeLink const * > | path_to_root (TreeNode const &node) |

Helper function that finds all TreeLinks between a given TreeNode and the root of the Tree. More... | |

size_t | subtree_max_path_height (Tree const &tree, TreeLink const &link) |

Calculate the height of a subtree, that is, the maximum path length to a leaf of that subtree, measured in edges between the link and the leaf. More... | |

std::vector< size_t > | subtree_max_path_heights (Tree const &tree, TreeNode const &node) |

std::vector< size_t > | subtree_max_path_heights (Tree const &tree) |

size_t | subtree_size (Tree const &tree, TreeLink const &link) |

Return the size of the subtree defined by the given TreeLink, measured in number of nodes. More... | |

std::vector< size_t > | subtree_sizes (Tree const &tree, TreeNode const &node) |

Calculate the sizes of all subtrees as seen from the given TreeNode. More... | |

std::vector< size_t > | subtree_sizes (Tree const &tree) |

Calculate the sizes of all subtrees as seen from the root of the tree. More... | |