# include # include # include int main ( int argc, char *argv[] ) { int i, n = 1000; double *x, *y, xdoty; x = random_vector ( n ); y = random_vector ( n ); xdoty = 0.0; # pragma omp parallel \ shared ( n, x, y ) \ private ( i ) \ reduction ( + : xdoty ) # pragma omp for for ( i = 0; i < n; i++ ) { xdoty = xdoty + x[i] * y[i]; } printf ( "XDOTY = %e\n", xdoty ); return 0; }