cppchecker

This commit is contained in:
iceman1001 2021-02-23 23:04:47 +01:00
commit 59cd54e178

View file

@ -660,11 +660,15 @@ static double p_hypergeometric(uint16_t i_K, uint16_t n, uint16_t k) {
if (n - k == N - K) { // special case. The published recursion below would fail with a divide by zero exception
double log_result = 0.0;
for (int16_t i = k + 1; i <= n; i++) {
if (i) {
log_result += log(i);
}
}
for (int16_t i = K + 1; i <= N; i++) {
if (i) {
log_result -= log(i);
}
}
return exp(log_result);
} else { // recursion
return (p_hypergeometric(i_K, n, k - 1) * (K - k + 1) * (n - k + 1) / (k * (N - K - n + k)));