Error del compilador "predicado de control no válido" al utilizar OpenMP
Estoy creando un verificador básico de números primos, basado enC - determina si un número es primo , pero utilizando OpenMP.
int isPrime(int value)
{
omp_set_num_threads(4);
#pragma omp parallel for
for( int j = 2; j * j <= value; j++)
{
if ( value % j == 0) return 0;
}
return value;
}
Al compilar con-fopenmp, La versión 4.7.2 de GCC está fallando, indicandoinvalid controlling predicate
con respecto al bucle for.
Parece que este error es causado por la j al cuadrado en el bucle for. ¿Hay alguna manera de evitar esto y lograr el resultado deseado del algoritmo?