Erro de compilador "invalid controlling predicate" usando o OpenMP
Estou criando um verificador básico de números primos, baseado emC - determina se um número é primo , mas utilizando o 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;
}
Ao compilar com-fopenmp, O GCC versão 4.7.2 está com erro, afirmandoinvalid controlling predicate
em relação ao loop for.
Parece que esse erro é causado pelo j quadrado no loop for. Existe uma maneira de contornar isso e ainda obter a saída desejada do algoritmo?