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