From d2b3b4fdb300ca2323e55f4f35f1e3d20d4bc88b Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <schaller@strw.leidenuniv.nl> Date: Fri, 24 Jan 2020 17:03:06 +0100 Subject: [PATCH] Update the testRandom to test the new enum value. --- tests/testRandom.c | 92 ++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 36 deletions(-) diff --git a/tests/testRandom.c b/tests/testRandom.c index 1281be7707..c6d3e0b0a0 100644 --- a/tests/testRandom.c +++ b/tests/testRandom.c @@ -128,19 +128,22 @@ int main(int argc, char* argv[]) { double total2ID = 0.; /* Pearson correlation for different processes */ - double pearson_star_sf = 0.; + double pearson_star_sf_1 = 0.; + double pearson_star_sf_2 = 0.; double pearson_star_se = 0.; double pearson_star_bh = 0.; - double pearson_sf_se = 0.; - double pearson_sf_bh = 0.; + double pearson_sf_1_se = 0.; + double pearson_sf_1_bh = 0.; double pearson_se_bh = 0.; /* Calculate the mean and <x^2> for these processes */ - double total_sf = 0.; + double total_sf_1 = 0.; + double total_sf_2 = 0.; double total_se = 0.; double total_bh = 0.; - double total2_sf = 0.; + double total2_sf_1 = 0.; + double total2_sf_2 = 0.; double total2_se = 0.; double total2_bh = 0.; @@ -181,10 +184,16 @@ int main(int argc, char* argv[]) { /* Calculate random numbers for the different processes and check * that they are uncorrelated */ - const double r_sf = - random_unit_interval(id, ti_current, random_number_stellar_feedback); - if (r_sf < 0.0 || r_sf >= 1.0) { - error("Generated random vlaue %f is not in [0, 1).", r_sf); + const double r_sf_1 = random_unit_interval( + id, ti_current, random_number_stellar_feedback_1); + if (r_sf_1 < 0.0 || r_sf_1 >= 1.0) { + error("Generated random vlaue %f is not in [0, 1).", r_sf_1); + } + + const double r_sf_2 = random_unit_interval( + id, ti_current, random_number_stellar_feedback_2); + if (r_sf_2 < 0.0 || r_sf_2 >= 1.0) { + error("Generated random vlaue %f is not in [0, 1).", r_sf_2); } const double r_se = random_unit_interval( @@ -200,19 +209,22 @@ int main(int argc, char* argv[]) { } /* Calculate the correlation between the different processes */ - total_sf += r_sf; + total_sf_1 += r_sf_1; + total_sf_2 += r_sf_2; total_se += r_se; total_bh += r_bh; - total2_sf += r_sf * r_sf; + total2_sf_1 += r_sf_1 * r_sf_1; + total2_sf_2 += r_sf_2 * r_sf_2; total2_se += r_se * r_se; total2_bh += r_bh * r_bh; - pearson_star_sf += r * r_sf; + pearson_star_sf_1 += r * r_sf_1; + pearson_star_sf_2 += r * r_sf_2; pearson_star_se += r * r_se; pearson_star_bh += r * r_bh; - pearson_sf_se += r_sf * r_se; - pearson_sf_bh += r_sf * r_bh; + pearson_sf_1_se += r_sf_1 * r_se; + pearson_sf_1_bh += r_sf_1 * r_bh; pearson_se_bh += r_se * r_bh; } @@ -234,25 +246,29 @@ int main(int argc, char* argv[]) { pearsonfunc(mean, meanID, pearsonIDs, var, varID, count); /* Mean and <x^2> for different processes */ - const double mean_sf = total_sf / (double)count; + const double mean_sf_1 = total_sf_1 / (double)count; + const double mean_sf_2 = total_sf_2 / (double)count; const double mean_se = total_se / (double)count; const double mean_bh = total_bh / (double)count; - const double var_sf = total2_sf / (double)count - mean_sf * mean_sf; + const double var_sf_1 = total2_sf_1 / (double)count - mean_sf_1 * mean_sf_1; + const double var_sf_2 = total2_sf_2 / (double)count - mean_sf_2 * mean_sf_2; const double var_se = total2_se / (double)count - mean_se * mean_se; const double var_bh = total2_bh / (double)count - mean_bh * mean_bh; /* Correlation between different processes */ - const double corr_star_sf = - pearsonfunc(mean, mean_sf, pearson_star_sf, var, var_sf, count); + const double corr_star_sf_1 = + pearsonfunc(mean, mean_sf_1, pearson_star_sf_1, var, var_sf_1, count); + const double corr_star_sf_2 = + pearsonfunc(mean, mean_sf_2, pearson_star_sf_2, var, var_sf_2, count); const double corr_star_se = pearsonfunc(mean, mean_se, pearson_star_se, var, var_se, count); const double corr_star_bh = pearsonfunc(mean, mean_bh, pearson_star_bh, var, var_bh, count); - const double corr_sf_se = - pearsonfunc(mean_sf, mean_se, pearson_sf_se, var_sf, var_se, count); - const double corr_sf_bh = - pearsonfunc(mean_sf, mean_bh, pearson_sf_bh, var_sf, var_bh, count); + const double corr_sf_1_se = pearsonfunc(mean_sf_1, mean_se, pearson_sf_1_se, + var_sf_1, var_se, count); + const double corr_sf_1_bh = pearsonfunc(mean_sf_1, mean_bh, pearson_sf_1_bh, + var_sf_1, var_bh, count); const double corr_se_bh = pearsonfunc(mean_se, mean_bh, pearson_se_bh, var_se, var_bh, count); @@ -277,11 +293,14 @@ int main(int argc, char* argv[]) { if ((fabs(mean - 0.5) > tolmean) || (fabs(var - 1. / 12.) > tolvar) || (fabs(correlation) > tolcorr) || (fabs(correlationID) > tolcorr) || (fabs(meanID - 0.5) > tolmean) || (fabs(varID - 1. / 12.) > tolvar) || - (fabs(corr_star_sf) > tolcorr) || (fabs(corr_star_se) > tolcorr) || - (fabs(corr_star_bh) > tolcorr) || (fabs(corr_sf_se) > tolcorr) || - (fabs(corr_sf_bh) > tolcorr) || (fabs(corr_se_bh) > tolcorr) || - (fabs(mean_sf - 0.5) > tolmean) || (fabs(mean_se - 0.5) > tolmean) || - (fabs(mean_bh - 0.5) > tolmean) || (fabs(var_sf - 1. / 12.) > tolvar) || + (fabs(corr_star_sf_1) > tolcorr) || (fabs(corr_star_sf_2) > tolcorr) || + (fabs(corr_star_se) > tolcorr) || (fabs(corr_star_bh) > tolcorr) || + (fabs(corr_sf_1_se) > tolcorr) || (fabs(corr_sf_1_bh) > tolcorr) || + (fabs(corr_se_bh) > tolcorr) || (fabs(mean_sf_1 - 0.5) > tolmean) || + (fabs(mean_sf_2 - 0.5) > tolmean) || (fabs(mean_se - 0.5) > tolmean) || + (fabs(mean_bh - 0.5) > tolmean) || + (fabs(var_sf_1 - 1. / 12.) > tolvar) || + (fabs(var_sf_2 - 1. / 12.) > tolvar) || (fabs(var_se - 1. / 12.) > tolvar) || (fabs(var_bh - 1. / 12.) > tolvar)) { message("Test failed!"); @@ -311,7 +330,7 @@ int main(int argc, char* argv[]) { message( "Means: stars=%f stellar feedback=%f stellar " " enrichment=%f black holes=%f", - mean, mean_sf, mean_se, mean_bh); + mean, mean_sf_1, mean_se, mean_bh); message( "Expected: stars=%f stellar feedback=%f stellar " " enrichment=%f black holes=%f", @@ -323,13 +342,13 @@ int main(int argc, char* argv[]) { message( "Diff: stars=%f stellar feedback=%f stellar " " enrichment=%f black holes=%f", - fabs(mean - .5f), fabs(mean_sf - .5f), fabs(mean_se - .5f), + fabs(mean - .5f), fabs(mean_sf_1 - .5f), fabs(mean_se - .5f), fabs(mean_bh - .5f)); message(" "); message( "Var: stars=%f stellar feedback=%f stellar " " enrichment=%f black holes=%f", - var, var_sf, var_se, var_bh); + var, var_sf_1, var_se, var_bh); message( "Expected: stars=%f stellar feedback=%f stellar " " enrichment=%f black holes=%f", @@ -341,14 +360,14 @@ int main(int argc, char* argv[]) { message( "Diff: stars=%f stellar feedback=%f stellar " " enrichment=%f black holes=%f", - fabs(var - 1. / 12.), fabs(var_sf - 1. / 12.), + fabs(var - 1. / 12.), fabs(var_sf_1 - 1. / 12.), fabs(var_se - 1. / 12.), fabs(var_bh - 1. / 12.)); message(" "); message( "Correlation: stars-sf=%f stars-se=%f stars-bh=%f " "sf-se=%f sf-bh=%f se-bh=%f", - corr_star_sf, corr_star_se, corr_star_bh, corr_sf_se, corr_sf_bh, - corr_se_bh); + corr_star_sf_1, corr_star_se, corr_star_bh, corr_sf_1_se, + corr_sf_1_bh, corr_se_bh); message( "Expected: stars-sf=%f stars-se=%f stars-bh=%f " "sf-se=%f sf-bh=%f se-bh=%f", @@ -358,10 +377,11 @@ int main(int argc, char* argv[]) { "sf-se=%f sf-bh=%f se-bh=%f", tolcorr, tolcorr, tolcorr, tolcorr, tolcorr, tolcorr); message( - "Diff: stars-sf=%f stars-se=%f stars-bh=%f " + "Diff: stars-sf1=%f stars-sf2=%f stars-se=%f stars-bh=%f " "sf-se=%f sf-bh=%f se-bh=%f", - fabs(corr_star_sf), fabs(corr_star_se), fabs(corr_star_bh), - fabs(corr_sf_se), fabs(corr_sf_bh), fabs(corr_se_bh)); + fabs(corr_star_sf_1), fabs(corr_star_sf_2), fabs(corr_star_se), + fabs(corr_star_bh), fabs(corr_sf_1_se), fabs(corr_sf_1_bh), + fabs(corr_se_bh)); return 1; } } -- GitLab