g++ - Using "unsigned long long" as iteration-range in for-loop using OpenMP -
if works fine:
#pragma omp parallel for (int = 1; <= 200; i++) { ... }
this still works fine
#pragma omp parallel for (unsigned long long = 1; <= 200; i++) { ... }
but isnt working
#pragma omp parallel for (unsigned long long = 1; <= llong_max; i++) { ... }
-> compiler error: invalid controlling predicate
llong_max coming from
#include <limits.h>
g++ --version -> g++ (tdm64-1) 5.1.0
it said openmp 3.0 can handle unsigned integer - types.
i searched alot issue, without success. use int iteration-variable. knows solution?
i changed program to:
unsigned long long n = ullong_max; #pragma omp parallel for (unsigned long long = 1; < n; i++) { ... }
it seems work now. thank jeff hint.
i tried before with:
for (auto = 1; < n; i++) { ... }
-> no error, loop didnt produce output, strange.
Comments
Post a Comment