X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fdist_dna.c;h=2eb88a6eb7dfa9abb2e2cb3e7c5dca058ffade6f;hb=f3304b6f40610d9b7306a9275d593b5c038ab0a0;hp=b8797e955b0647d88ed547e68c22119c9a0112fd;hpb=f295ab19440298e543db5a270e54f10a84382197;p=ape.git diff --git a/src/dist_dna.c b/src/dist_dna.c index b8797e9..2eb88a6 100644 --- a/src/dist_dna.c +++ b/src/dist_dna.c @@ -1,6 +1,6 @@ -/* dist_dna.c 2010-09-16 */ +/* dist_dna.c 2011-02-18 */ -/* Copyright 2005-2010 Emmanuel Paradis +/* Copyright 2005-2011 Emmanuel Paradis /* This file is part of the R-package `ape'. */ /* See the file ../COPYING for licensing issues. */ @@ -970,23 +970,50 @@ void distDNA_ParaLin_pairdel(unsigned char *x, int *n, int *s, double *d, } } -void BaseProportion(unsigned char *x, int *n, double *BF, int *freq) +/* void BaseProportion(unsigned char *x, int *n, double *BF, int *freq) */ +/* { */ +/* int i, m; */ + +/* m = 0; */ +/* for (i = 0; i < *n; i++) { */ +/* if (KnownBase(x[i])) { */ +/* m++; */ +/* switch (x[i]) { */ +/* case 136 : BF[0]++; break; */ +/* case 40 : BF[1]++; break; */ +/* case 72 : BF[2]++; break; */ +/* case 24 : BF[3]++; break; */ +/* } */ +/* } */ +/* } */ +/* if (! *freq) for (i = 0; i < 4; i++) BF[i] /= m; */ +/* } */ + +void BaseProportion(unsigned char *x, int *n, double *BF) { - int i, m; + int i; - m = 0; for (i = 0; i < *n; i++) { - if (KnownBase(x[i])) { - m++; switch (x[i]) { case 136 : BF[0]++; break; case 40 : BF[1]++; break; case 72 : BF[2]++; break; case 24 : BF[3]++; break; + case 192 : BF[4]++; break; + case 160 : BF[5]++; break; + case 144 : BF[6]++; break; + case 96 : BF[7]++; break; + case 80 : BF[8]++; break; + case 48 : BF[9]++; break; + case 224 : BF[10]++; break; + case 176 : BF[11]++; break; + case 208 : BF[12]++; break; + case 112 : BF[13]++; break; + case 240 : BF[14]++; break; + case 4 : BF[15]++; break; + case 2 : BF[16]++; break; } - } } - if (! *freq) for (i = 0; i < 4; i++) BF[i] /= m; } void SegSites(unsigned char *x, int *n, int *s, int *seg)