Current rtree/utree are in fact node structures. Rename them to rnode/unode and encapsulate them.
Generic ntree is not necessary at this point of time.
Sample prototype for rooted tree:
typedef struct pll_rtree_s
{
pll_rnode_t * root;
pll_rnode_t ** nodes;
unsigned long tip_count;
unsigned long inner_count;
unsigned long branch_count;
} pll_rtree_t;
Current
rtree/utree
are in fact node structures. Rename them tornode/unode
and encapsulate them. Generic ntree is not necessary at this point of time.Sample prototype for rooted tree: