]> git.donarmstrong.com Git - ape.git/blobdiff - src/delta_plot.c
provisional version of the new reorder.phylo()
[ape.git] / src / delta_plot.c
index 66fadac4bdc224a0c5ed28fcaf2e9043fa2a583a..193c1093dcfbb511d08cfca0e60577c1b6a5b57c 100644 (file)
@@ -1,6 +1,6 @@
-/* delta_plot.c       2010-01-12 */
+/* delta_plot.c       2011-06-23 */
 
-/* Copyright 2010 Emmanuel Paradis
+/* Copyright 2010-2011 Emmanuel Paradis
 
 /* This file is part of the R-package `ape'. */
 /* See the file ../COPYING for licensing issues. */
@@ -12,7 +12,7 @@ void delta_plot(double *D, int *size, int *nbins, int *counts, double *deltabar)
        int x, y, u, v; /* same notation than in Holland et al. 2002 */
        int n = *size, nb = *nbins;
        double dxy, dxu, dxv, dyu, dyv, duv, A, B, C, delta;
-       int xy, xu, xv, yu, yv, uv, i, k;
+       int xy, xu, xv, yu, yv, uv, i;
 
        for (x = 0; x < n - 3; x++) {
                xy = x*n - x*(x + 1)/2; /* do NOT factorize */
@@ -22,31 +22,11 @@ void delta_plot(double *D, int *size, int *nbins, int *counts, double *deltabar)
                        xu = xy + 1;
                        for (u = y + 1; u < n - 1; u++, xu++, yu++) {
                                uv = u*n - u*(u + 1)/2; /* do NOT factorize */
-                               dxu = D[xu];
-                               dyu = D[yu];
-                               xv = xu + 1;
-                               yv = yu + 1;
+                               dxu = D[xu]; dyu = D[yu];
+                               xv = xu + 1; yv = yu + 1;
                                for (v = u + 1; v < n; v++, xv++, yv++, uv++) {
-                                       dxv = D[xv];
-                                       dyv = D[yv];
-                                       duv = D[uv];
-                               /*      if (dxy <= dxu && dxy <= dxv && dxy <= dyu && dxy <= dyv && dxy <= duv) k=1; */
-/*                                     else if (duv <= dxy && duv <= dxu && duv <= dxv && duv <= dyu && duv <= dyv) k=1; */
-/*                                     else if (dxu <= dxy && dxu <= dxv && dxu <= dyu && dxu <= dyv && dxu <= duv) k=2; */
-/*                                     else if (dyv <= dxy && dyv <= dxu && dyv <= dxv && dyv <= dyu && dyv <= duv) k=2; */
-/*                                     else if (dxv <= dxy && dxv <= dxu && dxv <= dyu && dxv <= dyv && dxv <= duv) k=3; */
-/*                                     else if (dyu <= dxy && dyu <= dxu && dyu <= dxv && dyu <= dyv && dyu <= duv) k=3; */
-                                       //Rprintf("%d\t%d\t%d\t%d\t%d\t%d\t\n", xy, xu, xv, yu, yv, uv);
-                                       //Rprintf("dxy = %f\tdxu = %f\tdyu = %f\n", dxy, dxu, dyu);
-                                       //Rprintf("D[xv] = %f\tD[yv] = %f\tD[uv] = %f\n", D[xv], D[yv], D[uv]);
-                                       /* switch (k) { */
-/*                                     case 1 : A = dxv + dyu; B = dxu + dyv; C = dxy + duv; break; */
-/*                                     case 2 : A = dxv + dyu; B = dxy + duv; C = dxu + dyv; break; */
-/*                                     case 3 : A = dxu + dyv; B = dxy + duv; C = dxv + dyu; break; */
-/*                                     } */
-                                       //Rprintf("A = %f\tB = %f\tC = %f\n", A, B, C);
+                                       dxv = D[xv]; dyv = D[yv]; duv = D[uv];
                                        A = dxv + dyu; B = dxu + dyv; C = dxy + duv;
-                                       //Rprintf("A = %f\tB = %f\tC = %f\n", A, B, C);
                                        if (A == B && B == C) delta = 0; else while (1) {
                                                if (C <= B && B <= A) {delta = (A - B)/(A - C); break;}
                                                if (B <= C && C <= A) {delta = (A - C)/(A - B); break;}
@@ -57,7 +37,6 @@ void delta_plot(double *D, int *size, int *nbins, int *counts, double *deltabar)
                                        }
                                        /* if (delta == 1) i = nb - 1; else */
                                        i = delta * nb;
-                                       //Rprintf("delta = %f\ti = %d\n", delta, i);
                                        counts[i] += 1;
                                        deltabar[x] += delta;
                                        deltabar[y] += delta;