From 3a907991c642c502a0b18e33ffe0711a7d88a2ae Mon Sep 17 00:00:00 2001 From: Haavard Rue Date: Tue, 5 Dec 2023 19:55:05 +0300 Subject: [PATCH] Cleaned up code for betabinomial --- inlaprog/src/my.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/inlaprog/src/my.c b/inlaprog/src/my.c index b606e8d66..9881ac6f6 100644 --- a/inlaprog/src/my.c +++ b/inlaprog/src/my.c @@ -235,7 +235,7 @@ double my_betabinomial_helper(int n, double a) div_t d = div(n, roll); int m = d.quot * roll; -#pragma GCC ivdep +#pragma omp simd reduction(+: s0) for (int i = 0; i < m; i += roll) { double aa = i + a; s0 += log(aa * (aa + 1.0) * (aa + 2.0) * (aa + 3.0)); @@ -258,11 +258,13 @@ double my_betabinomial_helper(int n, double a) return (s0); } + double my_betabinomial(int y, int n, double a, double b) { double s1 = my_betabinomial_helper(y, a); double s2 = my_betabinomial_helper(n - y, b); double s3 = my_betabinomial_helper(n, a + b); + return (s1 + s2 - s3); }