--- /dev/null
+#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