Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / BilatTools_OMP / src / core / OMP_Tools / header / OmpTools.h
diff --git a/WCudaMSE/BilatTools_OMP/src/core/OMP_Tools/header/OmpTools.h b/WCudaMSE/BilatTools_OMP/src/core/OMP_Tools/header/OmpTools.h
new file mode 100755 (executable)
index 0000000..6896e6c
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef OMP_TOOLS_H_\r
+#define OMP_TOOLS_H_\r
+\r
+#include <omp.h>\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+class OmpTools\r
+    {\r
+    public:\r
+\r
+       /*--------------------------------------*\\r
+        |*             Constructor             *|\r
+        \*-------------------------------------*/\r
+\r
+       OmpTools();\r
+\r
+       /*--------------------------------------*\\r
+        |*             Destructor              *|\r
+        \*-------------------------------------*/\r
+\r
+       virtual ~OmpTools();\r
+\r
+       /*--------------------------------------*\\r
+        |*             Methodes                *|\r
+        \*-------------------------------------*/\r
+\r
+       /**\r
+        * autant de thread que de core\r
+        */\r
+       static int setAndGetNaturalGranularity();\r
+\r
+       static void setNbThread(int nbThread);\r
+       static int getNbCore();\r
+       static int getNbThread();\r
+       static int getTid();\r
+\r
+       /**\r
+        * Thread safe\r
+        * [0,1[\r
+        */\r
+       static double uniform01(void);\r
+\r
+       /**\r
+        * Thread safe\r
+        * [a,b[\r
+        */\r
+       static double uniform(double a, double b);\r
+\r
+    private:\r
+\r
+       /*--------------------------------------*\\r
+       |*              Methodes                *|\r
+        \*-------------------------------------*/\r
+\r
+       /*--------------------------------------*\\r
+       |*              Attributs               *|\r
+        \*-------------------------------------*/\r
+\r
+    };\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r