Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Student_OMP / src / cpp / core / omp / 02_pi / 00_pi_tools.cpp
diff --git a/WCudaMSE/Student_OMP/src/cpp/core/omp/02_pi/00_pi_tools.cpp b/WCudaMSE/Student_OMP/src/cpp/core/omp/02_pi/00_pi_tools.cpp
new file mode 100755 (executable)
index 0000000..41a02f6
--- /dev/null
@@ -0,0 +1,51 @@
+#include "00_pi_tools.h"\r
+#include <iostream>\r
+#include "Chronos.h"\r
+#include "MathTools.h"\r
+\r
+using std::cout;\r
+using std::endl;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Implementation                                  *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+double fpi(double x)\r
+    {\r
+    return 4 / (1 + x * x);\r
+    }\r
+\r
+bool isAlgoPI_OK(AlgoPI algoPI, int n, string title)\r
+    {\r
+    cout << endl << "[" << title << " running ...]" << endl;\r
+    cout << "n=" << n << endl;\r
+\r
+    Chronos chrono;\r
+    double piHat = algoPI(n);\r
+    chrono.stop();\r
+\r
+    cout.precision(8);\r
+    cout << "Pi hat  = " << piHat << endl;\r
+    cout << "Pi true = " << PI << endl;\r
+\r
+    bool isOk = MathTools::isEquals(piHat, PI, 1e-6);\r
+    cout << "isOk = " << isOk << endl;\r
+\r
+    cout.precision(3);\r
+    chrono.print("time : ");\r
+\r
+    return isOk;\r
+    }\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r
+\r