-## reorder.phylo.R (2010-04-02)
+## reorder.phylo.R (2012-08-01)
## Internal Reordering of Trees
-## Copyright 2006-2010 Emmanuel Paradis
+## Copyright 2006-2012 Emmanuel Paradis
## This file is part of the R-package `ape'.
## See the file ../COPYING for licensing issues.
if (nb.node == 1) return(x)
nb.tip <- length(x$tip.label)
nb.edge <- dim(x$edge)[1]
- neworder <- if (order == "cladewise")
- .C("neworder_cladewise", as.integer(nb.tip),
- as.integer(x$edge[, 1]), as.integer(x$edge[, 2]),
- as.integer(nb.edge), integer(nb.edge),
- PACKAGE = "ape")[[5]]
- else
- .C("neworder_pruningwise", as.integer(nb.tip),
- as.integer(nb.node), as.integer(x$edge[, 1]),
- as.integer(x$edge[, 2]), as.integer(nb.edge),
- integer(nb.edge), PACKAGE = "ape")[[6]]
+ if (order == "cladewise") {
+ neworder <-
+ .C("neworder_cladewise", as.integer(nb.tip),
+ as.integer(x$edge[, 1]), as.integer(x$edge[, 2]),
+ as.integer(nb.edge), integer(nb.edge),
+ PACKAGE = "ape")[[5]]
+ } else {
+ ##node.degree <- tabulate(x$edge[, 1])
+ neworder <-
+ .C("neworder_pruningwise", as.integer(nb.tip),
+ as.integer(nb.node), as.integer(x$edge[, 1]),
+ as.integer(x$edge[, 2]), as.integer(nb.edge),
+ integer(nb.edge), PACKAGE = "ape")[[6]]
+ }
x$edge <- x$edge[neworder, ]
if (!is.null(x$edge.length))
x$edge.length <- x$edge.length[neworder]