diff libgomp/testsuite/libgomp.c/omp_reduction.c @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgomp/testsuite/libgomp.c/omp_reduction.c	Fri Jul 17 14:47:48 2009 +0900
@@ -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;
+}