#include // Indica si se carga lo referente a OPENMP #ifdef _OPENMP #include int threads=omp_get_num_threads(); #else int threads=0; #endif #define STEPCOUNTER 1000000000 int main (void) { long i; double pi=0; printf("threads %d", threads); #pragma omp parallel for reduction(+:pi) for (i=0; i < STEPCOUNTER; i++) { pi += 1.0/(i*4.0 +1.0); pi -= 1.0/(i*4.0 +3.0); } pi = pi*4.0; printf("PI = %2.16lf ",pi); return 0; }