1 /*
2 
3 PhyML:  a program that  computes maximum likelihood phylogenies from
4 DNA or AA homologous sequences.
5 
6 Copyright (C) Stephane Guindon. Oct 2003 onward.
7 
8 All parts of the source except where indicated are distributed under
9 the GNU public licence. See http://www.opensource.org for details.
10 
11 */
12 
13 #include <config.h>
14 
15 #ifndef NJ_H
16 #define NJ_H
17 
18 #include "utilities.h"
19 #include "optimiz.h"
20 #include "free.h"
21 
22 void   Bionj(matrix *mat);
23 void   Finish(matrix *mat);
24 void   Compute_Sx(matrix *mat);
25 phydbl Sum_S(matrix *mat, int i);
26 phydbl Dist(matrix *mat, int x, int y);
27 phydbl Q_Agglo(matrix *mat, int x, int y);
28 phydbl BioNJ_Variance(matrix *mat, int x, int y);
29 phydbl Br_Length(matrix *mat, int x, int y);
30 void   Update_Dist(matrix *mat, int x, int y);
31 phydbl Lamda(matrix *mat, int x, int y, phydbl vxy);
32 void   Best_Pair(matrix *mat, int *x, int *y, phydbl *score);
33 phydbl Var_Red(matrix *mat, int x, int y, int i, phydbl lamda, phydbl vxy);
34 void   Update_Tree(matrix *mat, int x, int y, phydbl lx, phydbl ly, phydbl score);
35 void   Update_Mat(matrix *mat, int x, int y,
36 		  phydbl lx, phydbl ly, phydbl vxy, phydbl lamda);
37 phydbl Dist_Red(matrix *mat, int x, phydbl lx, int y,
38 		phydbl ly, int i, phydbl lamda);
39 int    Bionj_Br_Length_Post(t_node *a, t_node *d, matrix *mat);
40 void   Bionj_Br_Length(matrix *mat);
41 
42 #endif
43