1 #ifndef INVITEE_H
2 #define INVITEE_H
3 
4 #include "utilities.h"
5 
6 int My_Function(int argc, char **argv);
7 int My_main(int argc, char **argv);
8 void PhyTime_XML(char *xml_file);
9 phydbl TIMES_Calib_Cond_Prob(t_tree *tree);
10 int Number_Of_Comb(t_cal *calib);
11 int Number_Of_Calib(t_cal *calib);
12 void Check_Node_Time(t_node *a, t_node *d, int *result, t_tree *tree);
13 void Set_Current_Calibration(int row, t_tree *tree);
14 void Random_Calibration(t_tree *tree);
15 int RND_Calibration_And_Node_Number(t_tree *tree);
16 phydbl Randomize_One_Node_Time(phydbl min, phydbl max);
17 void Lk_Hastings_Ratio_Times(t_node *a, t_node *d, phydbl *tot_prob, t_tree *tree);
18 void Update_Descendent_Cond_Jump(t_node *a, t_node *d, phydbl *L_Hast_ratio, t_tree *tree);
19 void Update_Ancestor_Cond_Jump(t_node *d, phydbl *L_Hast_ratio, t_tree *tree);
20 void Update_Times_RND_Node_Ancestor_Descendant(int rnd_node, phydbl *L_Hast_ratio, t_tree *tree);
21 void Update_Times_Down_Tree(t_node *a, t_node *d, phydbl *L_Hastings_ratio, t_tree *tree);
22 phydbl K_Constant_Prior_Times_Log(t_tree *tree);
23 int Number_Of_Comb_Slices(int m, int num_elem, int *n_slice);
24 void Check_Time_Slices(t_node *a, t_node *d, int *result, phydbl *t_cur_slice_min, phydbl *t_cur_slice_max, t_tree *tree);
25 void Number_Of_Nodes_In_Slice(t_node *d_start, t_node *d, int *n, phydbl *t_cur_slice_min, phydbl *t_cur_slice_max, t_tree *tree);
26 void Search_Root_Node_In_Slice(t_node *d_start, t_node *d, int *root_nodes, int *num_elem, phydbl t_slice_min, phydbl t_slice_max, phydbl *t_cur_slice_min, phydbl *t_cur_slice_max, t_tree *tree);
27 int Factorial(int base);
28 phydbl *Norm_Constant_Prior_Times(t_tree *tree);
29 void TIMES_Calib_Partial_Proba(t_tree *tree);
30 xml_node *XML_Search_Node_Attribute_Value_Clade(char *attr_name, char *value, int skip, xml_node *node);
31 char **XML_Read_Clade(xml_node *n_clade, t_tree *tree);
32 int XML_Number_Of_Taxa_In_Clade(xml_node *n_clade);
33 void TIMES_Set_All_Node_Priors_S(int *result, t_tree *tree);
34 void TIMES_Set_All_Node_Priors_Bottom_Up_S(t_node *a, t_node *d, int *result, t_tree *tree);
35 void TIMES_Set_All_Node_Priors_Top_Down_S(t_node *a, t_node *d, int *result, t_tree *tree);
36 phydbl LOG_g_i(phydbl lmbd, phydbl t_slice_max, phydbl t_slice_min, phydbl t_prior_max, phydbl t_prior_min);
37 int CombineInt(int int1, int int2);
38 void Update_Current_Times_Down_Tree(t_node *a, t_node *d, t_tree *tree);
39 void Multiple_Time_Proposal_Density(t_node *a, t_node *d, phydbl *time_proposal_density, t_tree *tree);
40 void Jump_Calibration_Move_Pre(t_node *a, t_node *d, phydbl old_ta, phydbl *log_hastings_ratio, t_tree *tree);
41 
42 #endif
43 
44