diff options
author | tlatorre <tlatorre@uchicago.edu> | 2019-06-14 12:21:58 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2019-06-14 12:21:58 -0500 |
commit | 1637b9fc877c6abb931143d5e00af231ede552c0 (patch) | |
tree | 1170547d6c4465b63c95f88fea6df7939c967b53 /src/test.c | |
parent | f8c99fdd302b6d2190ae619681fb1cea5f74f391 (diff) | |
download | sddm-1637b9fc877c6abb931143d5e00af231ede552c0.tar.gz sddm-1637b9fc877c6abb931143d5e00af231ede552c0.tar.bz2 sddm-1637b9fc877c6abb931143d5e00af231ede552c0.zip |
add a function to compute the most likely number of PE given an observed charge
Also, call this function when computing the psi parameter in nll_best().
Diffstat (limited to 'src/test.c')
-rw-r--r-- | src/test.c | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -2126,6 +2126,35 @@ err: return 1; } +int test_get_most_likely_mean_pe(char *err) +{ + /* Tests that the get_most_likely_mean_pe() function returns values which + * are monotonically increasing. */ + size_t i; + double q, result, last_result; + size_t n = 100; + + init_charge(); + + for (i = 0; i < n; i++) { + q = i*1000.0/(n-1); + + result = get_most_likely_mean_pe(q); + + if (i > 0 && result < last_result) { + sprintf(err, "get_most_likely_mean_pe() returned %.5g for q = %.2f, but expected something bigger than %.5g", result, q, last_result); + goto err; + } + + last_result = result; + } + + return 0; + +err: + return 1; +} + struct tests { testFunction *test; char *name; @@ -2179,6 +2208,7 @@ struct tests { {test_electron_get_angular_pdf_norm, "test_electron_get_angular_pdf_norm"}, {test_fast_acos, "test_fast_acos"}, {test_fast_sqrt, "test_fast_sqrt"}, + {test_get_most_likely_mean_pe, "test_get_most_likely_mean_pe"}, }; int main(int argc, char **argv) |