+ 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]]
+
+ Nedge <- dim(x$edge)[1]