/*///////////////////////////////////////////////////////////////*/ void stats_print_table_n (KConfig_n KN) /* ** Print all fields in the KStats_n structure, as a table */ { const char* thisfunction = "stats_print_table_n"; IF_DEBUG(DEBUG_TRACE1) fprintf(stderr, "%s\n", thisfunction); /* stats_print_table_heading_n(KN); */ fprintf(stdout, "%s %d\t%lg\t%lg\t%lg\t\ %lg\t%s\t%lg\t%lg\t\ %lg\t%s\t%lg\t%lg\t\ %lg\t%lg\t%lg\t\ %lg\t%lg\t%lg\t\ %lg\t%lg\t%lg\t%lg\t%lg\t%lg\n", (KN->generation > GENERATION_CUTOFF) ? "*" : " ", KN->generation, KN->S, KN->A, KN->O, /* */ KN->U[0], get_fitness_function_name(KN->fitness_function[0]), KN->fit_s[0], KN->fit_h[0], /* */ KN->U[1], get_fitness_function_name(KN->fitness_function[1]), KN->fit_s[1], KN->fit_h[1], /* */ KStats_n.mean_hetloci[0], KStats_n.var_hetloci[0], KStats_n.mean_homloci[0], KStats_n.var_homloci[0], KStats_n.mean_totmuts[0], KStats_n.var_totmuts[0], KStats_n.var_to_mean_totmuts_ratio[0], /* */ KStats_n.mean_hetloci[1], KStats_n.var_hetloci[1], KStats_n.mean_homloci[1], KStats_n.var_homloci[1], KStats_n.mean_totmuts[1], KStats_n.var_totmuts[1], KStats_n.var_to_mean_totmuts_ratio[1], /* */ KStats_n.mean_fitness_self_progeny, KStats_n.mean_fitness_apomixis_progeny, KStats_n.mean_fitness_outcross_progeny, KStats_n.population_mean_fitness, KStats_n.inbreeding_depression, KStats_n.secondary_selfing_rate ); }
void stats_print_table (KConfig K) // Print all fields in the KStats structure, as a table { /* stats_print_table_heading(K); */ cout << (K->generation > GENERATION_CUTOFF) ? "x" : "+"; cout << sep << K->generation; cout << sep << K->U; cout << sep << K->S[0]; cout << sep << K->A[0]; cout << sep << K->O[0]; cout << sep << get_fitness_function_name(K->fitness_function); cout << sep << K->fit_s; cout << sep << K->fit_h; cout << sep << KStats.mean_hetloci; cout << sep << KStats.var_hetloci; cout << sep << KStats.mean_homloci; cout << sep << KStats.var_homloci; cout << sep << KStats.mean_totmuts; cout << sep << KStats.var_totmuts; cout << sep << KStats.var_to_mean_totmuts_ratio; cout << sep << KStats.mean_fitness_self_progeny; cout << sep << KStats.mean_fitness_apomixis_progeny; cout << sep << KStats.mean_fitness_outcross_progeny; cout << sep << KStats.population_mean_fitness; cout << sep << KStats.inbreeding_depression; cout << sep << KStats.secondary_selfing_rate; cout << endl; }
/*///////////////////////////////////////////////////////////////*/ void stats_print_verbose_n (KConfig_n KN) /* ** Print all fields in the KStats_n structure, verbosely */ { const char* thisfunction = "stats_print_verbose_n"; KMutClass m; IF_DEBUG(DEBUG_TRACE1) fprintf(stderr, "%s\n", thisfunction); fprintf(stdout, "stats begin ========================================\n"); fprintf(stdout, "generations = %d (out of %d max)\n", KN->generation, GENERATION_CUTOFF); fprintf(stdout, "S = %lg\n", KN->S); fprintf(stdout, "A = %lg\n", KN->A); fprintf(stdout, "O = %lg\n", KN->O); fprintf(stdout, "option_truncate = %d\n", KN->option_truncate); fprintf(stdout, "option_nolethal = %d\n", KN->option_nolethal); fprintf(stdout, "mutation classes = %d\n", KN->mutclasses); for (m=0; m < KN->mutclasses; m++) { fprintf(stdout, "U[%d] = %lg\n", m, KN->U[m]); fprintf(stdout, "fitness function[%d] = %s\n", m, get_fitness_function_name(KN->fitness_function[m])); fprintf(stdout, "fit_s[%d] = %lg\n", m, KN->fit_s[m]); fprintf(stdout, "fit_h[%d] = %lg\n", m, KN->fit_h[m]); } for (m=0; m < KN->mutclasses; m++) { fprintf(stdout, "mean_hetloci[%d] = %lg\n", m, KStats_n.mean_hetloci[m]); fprintf(stdout, "var_hetloci[%d] = %lg\n", m, KStats_n.var_hetloci[m]); fprintf(stdout, "mean_homloci[%d] = %lg\n", m, KStats_n.mean_homloci[m]); fprintf(stdout, "var_homloci[%d] = %lg\n", m, KStats_n.var_homloci[m]); fprintf(stdout, "mean_totmuts[%d] = %lg\n", m, KStats_n.mean_totmuts[m]); fprintf(stdout, "var_totmuts[%d] = %lg\n", m, KStats_n.var_totmuts[m]); fprintf(stdout, "var/mean totmuts[%d] = %lg\n", m, KStats_n.var_to_mean_totmuts_ratio[m]); } fprintf(stdout, "mean_fitness_self_progeny = %lg\n", KStats_n.mean_fitness_self_progeny); fprintf(stdout, "mean_fitness_apomixis_progeny = %lg\n", KStats_n.mean_fitness_apomixis_progeny); fprintf(stdout, "mean_fitness_outcross_progeny = %lg\n", KStats_n.mean_fitness_outcross_progeny); fprintf(stdout, "population_mean_fitness = %lg\n", KStats_n.population_mean_fitness); fprintf(stdout, "inbreeding_depression = %lg\n", KStats_n.inbreeding_depression); fprintf(stdout, "secondary_selfing_rate = %lg\n", KStats_n.secondary_selfing_rate); fprintf(stdout, "stats end ========================================\n"); }
void stats_print_verbose (KConfig K) // Print all fields in the KStats structure, verbosely { cout << "stats begin ========================================" << endl; cout << "generations = " << K->generation << " (out of " << GENERATION_CUTOFF << " max)" << endl; cout << "fitness function = " << get_fitness_function_name(K->fitness_function) << " option_truncate = " << K->option_truncate << " option_nolethal = " << K->option_nolethal << endl; cout << "U = " << K->U << " S[0] = " << K->S[0] << " A[0] = " << K->A[0] << " O[0] = " << K->O[0] << endl; cout << "fit_s = " << K->fit_s << " fit_h = " << K->fit_h << endl; cout << "hetloci mean = " << KStats.mean_hetloci << " var = " << KStats.var_hetloci << endl; cout << "homloci mean = " << KStats.mean_homloci << " var = " << KStats.var_homloci << endl; cout << "totmuts mean = " << KStats.mean_totmuts << " var = " << KStats.var_totmuts << " var / mean totmuts = " << KStats.var_to_mean_totmuts_ratio << endl; cout << "mean_fitness self_progeny = " << KStats.mean_fitness_self_progeny << " apomixis_progeny = " << KStats.mean_fitness_apomixis_progeny << " outcross_progeny = " << KStats.mean_fitness_outcross_progeny << endl; cout << "population_mean_fitness = " << KStats.population_mean_fitness << " inbreeding_depression = " << KStats.inbreeding_depression << " secondary_selfing_rate = " << KStats.secondary_selfing_rate << endl; cout << "stats end ========================================" << endl; }