- if (Ntip == 1) {
- warning("found only one tip in the tree")
- return(NULL)
- }
- if (any(tabulate(x$edge[, 1]) == 1))
- stop("there are single (non-splitting) nodes in your tree; you may need to use collapse.singles()")
-
- .nodeHeight <- function(Ntip, Nnode, edge, Nedge, yy)
- .C("node_height", as.integer(Ntip), as.integer(Nnode),
- as.integer(edge[, 1]), as.integer(edge[, 2]),
- as.integer(Nedge), as.double(yy),
- DUP = FALSE, PACKAGE = "ape")[[6]]
-
- .nodeDepth <- function(Ntip, Nnode, edge, Nedge)
- .C("node_depth", as.integer(Ntip), as.integer(Nnode),
- as.integer(edge[, 1]), as.integer(edge[, 2]),
- as.integer(Nedge), double(Ntip + Nnode),
- DUP = FALSE, PACKAGE = "ape")[[6]]
-
- .nodeDepthEdgelength <- function(Ntip, Nnode, edge, Nedge, edge.length)
- .C("node_depth_edgelength", as.integer(Ntip),
- as.integer(Nnode), as.integer(edge[, 1]),
- as.integer(edge[, 2]), as.integer(Nedge),
- as.double(edge.length), double(Ntip + Nnode),
- DUP = FALSE, PACKAGE = "ape")[[7]]
-