]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.c/omp_reduction.c
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.c / omp_reduction.c
diff --git a/libgomp/testsuite/libgomp.c/omp_reduction.c b/libgomp/testsuite/libgomp.c/omp_reduction.c
new file mode 100644 (file)
index 0000000..5c9c41e
--- /dev/null
@@ -0,0 +1,35 @@
+/******************************************************************************
+* FILE: omp_reduction.c
+* DESCRIPTION:
+*   OpenMP Example - Combined Parallel Loop Reduction - C/C++ Version
+*   This example demonstrates a sum reduction within a combined parallel loop
+*   construct.  Notice that default data element scoping is assumed - there
+*   are no clauses specifying shared or private variables.  OpenMP will 
+*   automatically make loop index variables private within team threads, and
+*   global variables shared.
+* AUTHOR: Blaise Barney  5/99
+* LAST REVISED: 04/06/05
+******************************************************************************/
+#include <omp.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int main (int argc, char *argv[]) {
+
+int   i, n;
+float a[100], b[100], sum; 
+
+/* Some initializations */
+n = 100;
+for (i=0; i < n; i++)
+  a[i] = b[i] = i * 1.0;
+sum = 0.0;
+
+#pragma omp parallel for reduction(+:sum)
+  for (i=0; i < n; i++)
+    sum = sum + (a[i] * b[i]);
+
+printf("   Sum = %f\n",sum);
+
+  return 0;
+}