Index: Pi/C/Simple/Pi.c
===================================================================
--- Pi/C/Simple/Pi.c	(revision 7)
+++ Pi/C/Simple/Pi.c	(revision 8)
@@ -61,12 +61,7 @@
 
   float pi=(float)MainLoopGlobal(iterations,seed_w,seed_z)/(float)iterations*4;
 
-#ifdef LONG
   printf("\tPi=%f with error %f and %lu iterations\n\n",pi,
-         fabs(pi-4*atan(1))/pi,iterations);
-#else
-  printf("\tPi=%f with error %f and %u iterations\n\n",pi,
-         fabs(pi-4*atan(1))/pi,iterations);
-#endif
+         fabs(pi-4*atan(1))/pi,(unsigned long)iterations);
   
 }
Index: Pi/C/OpenMP/Makefile
===================================================================
--- Pi/C/OpenMP/Makefile	(revision 0)
+++ Pi/C/OpenMP/Makefile	(revision 8)
@@ -0,0 +1,30 @@
+EXECUTABLE=Pi_OpenMP_LONG Pi_OpenMP_INTEGER
+
+SOURCE=Pi_OpenMP.c
+
+CC=gcc
+CFLAGS=-Wall -O3 -std=c99 -fopenmp
+LIBRARY=-lm -lgomp
+
+all: $(EXECUTABLE)
+
+Pi_OpenMP_LONG: $(SOURCE)
+
+	$(CC) $(CFLAGS) $(DIRECTIVES) -DLONG -o $@ $< $(LIBRARY)
+
+Pi_OpenMP_INTEGER: $(SOURCE)
+
+	$(CC) $(CFLAGS) $(DIRECTIVES) -DINTEGER -o $@ $< $(LIBRARY)
+
+.PHONY: clean check mrproper
+
+mrproper: 
+	rm -rf $(EXECUTABLE)
+	find . -name "*~" -exec rm {} \;
+
+clean:
+	find . -name "*~" -exec rm {} \;
+
+check: $(EXECUTABLE)
+
+	@echo "To be Defined"
\ No newline at end of file
Index: Pi/C/OpenMP/Pi_OpenMP_INTEGER
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: Pi/C/OpenMP/Pi_OpenMP_INTEGER
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream
Added: svn:executable
   + *

Index: Pi/C/OpenMP/Pi_OpenMP_LONG
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: Pi/C/OpenMP/Pi_OpenMP_LONG
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Index: Pi/C/OpenMP/Pi_OpenMP.c
===================================================================
--- Pi/C/OpenMP/Pi_OpenMP.c	(revision 0)
+++ Pi/C/OpenMP/Pi_OpenMP.c	(revision 8)
@@ -0,0 +1,80 @@
+//
+// Estimation of Pi using Monte Carlo exploration process
+// gcc -std=c99 -O3 -o Pi Pi.c -lm 
+//
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <omp.h>
+
+// Marsaglia RNG very simple implementation
+#define znew  ((z=36969*(z&65535)+(z>>16))<<16)
+#define wnew  ((w=18000*(w&65535)+(w>>16))&65535)
+#define MWC   (znew+wnew)
+#define SHR3  (jsr=(jsr=(jsr=jsr^(jsr<<17))^(jsr>>13))^(jsr<<5))
+#define CONG  (jcong=69069*jcong+1234567)
+#define KISS  ((MWC^CONG)+SHR3)
+
+#define MWCfp MWC * 2.328306435454494e-10f
+#define KISSfp KISS * 2.328306435454494e-10f
+
+#define ITERATIONS 1000000000
+
+#define PROCESS 8
+
+#ifdef LONG
+#define LENGTH unsigned long
+#else
+#define LENGTH unsigned int
+#endif
+
+LENGTH MainLoopGlobal(LENGTH iterations,unsigned int seed_w,unsigned int seed_z)
+{
+   unsigned int z=seed_z;
+   unsigned int w=seed_w;
+
+   LENGTH total=0;
+
+   for (LENGTH i=0;i<iterations;i++) {
+
+      float x=MWCfp ;
+      float y=MWCfp ;
+
+      // Matching test
+      int inside=((x*x+y*y) < 1.0f) ? 1:0;
+      total+=inside;
+   }
+
+   return(total);
+}
+
+int main(int argc, char *argv[]) {
+
+  unsigned int seed_w=10,seed_z=10;
+  LENGTH iterations=ITERATIONS;
+  LENGTH inside[1024],insides=0;
+
+  if (argc > 1) {
+    iterations=(LENGTH)atol(argv[1]);
+  }
+  else {
+    printf("\n\tPi : Estimate Pi with Monte Carlo exploration\n\n\t\t#1 : number of iterations (default 1 billion)\n\n");
+  }
+
+#pragma omp parallel for
+  for (int i=0 ; i<PROCESS; i++) {
+    inside[i]=MainLoopGlobal(iterations/PROCESS,seed_w,seed_z);
+    printf("%lu\n",inside[i]);
+  }
+
+  for (int i=0 ; i<PROCESS; i++) {
+    insides+=inside[i];
+  }
+  
+  float pi=4.*(float)insides/(float)iterations;
+
+  printf("\tPi=%f with error %f and %lu iterations\n\n",pi,
+         fabs(pi-4*atan(1))/pi,(unsigned long)iterations);
+  
+}
