Skip to content

Commit 4590f5b

Browse files
committed
align to changes proposed in #7376
1 parent 9c4b958 commit 4590f5b

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/froll.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1227,7 +1227,7 @@ void frollvarExact(const double *x, uint64_t nx, ans_t *ans, int k, double fill,
12271227
}
12281228
bool truehasnf = hasnf>0;
12291229
if (!truehasnf || !narm) {
1230-
#pragma omp parallel for num_threads(getDTthreads(nx, true))
1230+
#pragma omp parallel for num_threads(getDTthreads(nx, true)) shared(truehasnf)
12311231
for (uint64_t i=k-1; i<nx; i++) {
12321232
if (narm && truehasnf) {
12331233
continue;
@@ -1241,6 +1241,7 @@ void frollvarExact(const double *x, uint64_t nx, ans_t *ans, int k, double fill,
12411241
if (!narm) {
12421242
ans->dbl_v[i] = (double) wsum; // propagate NAs
12431243
}
1244+
#pragma omp atomic write
12441245
truehasnf = true;
12451246
} else {
12461247
ans->dbl_v[i] = R_NaN;

src/frolladaptive.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ void frolladaptivevarExact(const double *x, uint64_t nx, ans_t *ans, const int *
746746
snprintf(end(ans->message[0]), 500, _("%s: running in parallel for input length %"PRIu64", hasnf %d, narm %d\n"), "frolladaptivevarExact", (uint64_t)nx, hasnf, (int) narm);
747747
bool truehasnf = hasnf>0;
748748
if (!truehasnf || !narm) {
749-
#pragma omp parallel for num_threads(getDTthreads(nx, true))
749+
#pragma omp parallel for num_threads(getDTthreads(nx, true)) shared(truehasnf)
750750
for (uint64_t i=0; i<nx; i++) {
751751
if (narm && truehasnf) {
752752
continue;
@@ -765,6 +765,7 @@ void frolladaptivevarExact(const double *x, uint64_t nx, ans_t *ans, const int *
765765
if (!narm) {
766766
ans->dbl_v[i] = (double) wsum; // propagate NAs
767767
}
768+
#pragma omp atomic write
768769
truehasnf = true;
769770
} else {
770771
ans->dbl_v[i] = R_NaN;

0 commit comments

Comments
 (0)