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, int restart_flag, char *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 ( char *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 ( char *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[], char *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[], char *title ); void i4mat_print_some ( int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, char *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, char *input_filename, double gr_threshold, int jumpstep, double limits[], int gen_num, char *ob_filename, int ob_num, int pair_num, int par_num, int printstep, char *restart_string ); void input_read ( int *chain_num, int *cr_num, char *input_filename, double *gr_threshold, int *jumpstep, double limits[], int *gen_num, char *ob_filename, int *ob_num, int *pair_num, int par_num, int *printstep, char *restart_string ); void input_size ( char *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[], char *mnor_filename, int mnor_num ); void ob_read ( double ob_data[], char *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[], char *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[], char *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[], char *title ); double *r8vec_zero_new ( int n ); void restart_read ( int chain_num, double fit[], int gen_num, int par_num, char *restart_read_filename, double z[] ); void restart_write ( int chain_num, double fit[], int gen_num, int par_num, char *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[] );