void chain_init ( int chain_num, double fit[], int gen_num, int mnor_ind[], int mnor_num, int par_num, double parm[], int prior_den_par_num[], double prior_den_par_val[], int prior_den_type[], double sample_likelihood ( int par_num, double zp[] ), int uni_ind[], int uni_num, double z[] ); void chain_init_print ( int chain_num, double fit[], int gen_num, int par_num, bool restart_flag, string restart_filename, double z[] ); void chain_outliers ( int chain_num, int gen_index, int gen_num, int par_num, double fit[], double z[] ); void chain_write ( string chain_filename, int chain_num, double fit[], int gen_num, int par_num, double z[] ); void cr_dis_update ( int chain_index, int chain_num, double cr_dis[], int cr_index, int cr_num, int cr_ups[], int gen_index, int gen_num, int par_num, double z[] ); int cr_index_choose ( int cr_num, double cr_prob[] ); void cr_init ( double cr[], double cr_dis[], int cr_num, double cr_prob[], int cr_ups[] ); void cr_prob_update ( double cr_dis[], int cr_num, double cr_prob[], int cr_ups[] ); double *diff_compute ( int chain_num, int gen_index, int gen_num, int jump_dim[], int jump_num, int pair_num, int par_num, int r[], double z[] ); void dream_algm ( int chain_num, double cov_mat[], int cr_num, double fit[], int gen_num, double gr[], int &gr_conv, int &gr_count, int gr_num, double gr_threshold, double jumprate_table[], int jumpstep, double limits[], double logdet, int mnor_ind[], double mnor_mean[], int mnor_num, int pair_num, int par_num, int printstep, int prior_den_par_num[], double prior_den_par_val[], int prior_den_type[], double sample_likelihood ( int par_num, double zp[] ), int uni_ind[], int uni_num, double z[] ); void filename_inc ( string *filename ); void gr_compute ( int chain_num, int gen_index, int gen_num, double gr[], int &gr_conv, int &gr_count, int gr_num, double gr_threshold, int par_num, double z[] ); void gr_init ( double gr[], int &gr_conv, int &gr_count, int gr_num, int par_num ); void gr_write ( double gr[], string gr_filename, int gr_num, int par_num, int printstep ); int i4_binomial_sample ( int n, double pp ); int i4_max ( int i1, int i2 ); int i4_min ( int i1, int i2 ); void i4mat_print ( int m, int n, int a[], string title ); void i4mat_print_some ( int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, string title ); int *i4vec_multinomial_sample ( int n, double p[], int ncat ); int *i4vec_zero_new ( int n ); void input_print ( int chain_num, int cr_num, string input_filename, double gr_threshold, int jumpstep, double limits[], int gen_num, string ob_filename, int ob_num, int pair_num, int par_num, int printstep, string restart_string ); void input_read ( int &chain_num, int &cr_num, string input_filename, double &gr_threshold, int &jumpstep, double limits[], int &gen_num, string *ob_filename, int &ob_num, int &pair_num, int par_num, int &printstep, string *restart_string ); void input_size ( string input_filename, int &par_num ); void jumprate_choose ( double cr[], int cr_index, int cr_num, int gen_index, int jump_dim[], int &jump_num, double &jumprate, double jumprate_table[], int jumpstep, int par_num ); double *jumprate_table_init ( int pair_num, int par_num ); void jumprate_table_print ( double jumprate_table[], int pair_num, int par_num ); void mnor_init ( double cov_mat[], double &logdet, int mnor_ind[], double mnor_mean[], int mnor_num, int par_num, double parm[], double prior_den_par_val[] ); void mnor_process ( double cov_mat[], double &logdet, double mnor_mean[], int mnor_num, double parm[] ); void mnor_read ( double cov_mat[], string mnor_filename, int mnor_num ); void ob_read ( double ob_data[], string ob_filename, int ob_num ); double prior_density ( double cov_mat[], double logdet, int mnor_ind[], double mnor_mean[], int mnor_num, int par_num, int prior_den_par_num[], double prior_den_par_val[], int prior_den_type[], int uni_ind[], int uni_num, double zp[] ); void prior_print ( int mnor_ind[], int mnor_num, int par_num, int prior_den_par_num[], double prior_den_par_val[], int prior_den_type[], string prior_filename, int uni_ind[], int uni_num ); void prior_read ( int mnor_ind[], int &mnor_num, int par_num, int prior_den_par_num[], double prior_den_par_val[], int prior_den_type[], string prior_filename, int uni_ind[], int &uni_num ); double *prior_sample ( int mnor_ind[], int mnor_num, int par_num, double parm[], int prior_den_par_num[], double prior_den_par_val[], int prior_den_type[], int uni_ind[], int uni_num ); double r8_beta_pdf ( double alpha, double beta, double rval ); double r8_beta_sample ( double aa, double bb ); double r8_chi_pdf ( double df, double rval ); double r8_chi_sample ( double df ); double r8_epsilon ( void ); double r8_exponential_pdf ( double beta, double rval ); double r8_exponential_sample ( double lambda ); double r8_exponential_01_sample ( ); double r8_gamma_log ( double x ); double r8_gamma_pdf ( double beta, double alpha, double rval ); double r8_gamma_sample ( double a, double r ); double r8_gamma_01_sample ( double a ); double r8_invchi_pdf ( double df, double rval ); double r8_invgam_pdf ( double beta, double alpha, double rval ); double r8_max ( double x, double y ); double r8_min ( double x, double y ); double r8_mnor_pdf ( int ndim, double mu[], double cov[], double logdet, double rvals[] ); double r8_normal_pdf ( double av, double sd, double rval ); double r8_normal_sample ( double av, double sd ); double r8_normal_01_sample ( ); int r8_round_i4 ( double x ); double r8_scinvchi_pdf ( double df, double s, double rval ); double r8_uniform_pdf ( double lower, double upper, double rval ); double r8_uniform_sample ( double low, double high ); double r8_uniform_01_sample ( void ); double *r8block_zero_new ( int l, int m, int n ); int r8mat_pofa ( double a[], int lda, int n ); double *r8mat_zero_new ( int m, int n ); double *r8vec_copy_new ( int n, double a1[] ); void r8vec_heap_d ( int n, double a[] ); double *r8vec_mnor_sample ( double parm[] ); void r8vec_sort_heap_a ( int n, double a[] ); double r8vec_sum ( int n, double a[] ); void r8vec_transpose_print ( int n, double a[], string title ); double *r8vec_zero_new ( int n ); void restart_read ( int chain_num, double fit[], int gen_num, int par_num, string restart_read_filename, double z[] ); void restart_write ( int chain_num, double fit[], int gen_num, int par_num, string restart_filename, double z[] ); double *sample_candidate ( int chain_index, int chain_num, double cr[], int cr_index, int cr_num, int gen_index, int gen_num, double jumprate_table[], int jumpstep, double limits[], int pair_num, int par_num, double z[] ); void sample_limits ( double limits[], int par_num, double zp[] ); double *std_compute ( int chain_num, int gen_index, int gen_num, int par_num, double z[] );