--- /dev/null
+#include <iostream>\r
+#include <omp.h>\r
+#include <stdio.h>\r
+#include <string>\r
+\r
+#include "Chronos.h"\r
+\r
+using std::cout;\r
+using std::endl;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Implementation *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Constructor *|\r
+ \*-------------------------------------*/\r
+\r
+Chronos::Chronos()\r
+ {\r
+ start();\r
+ }\r
+\r
+Chronos::~Chronos()\r
+ {\r
+ // rien\r
+ }\r
+\r
+/*--------------------------------------*\\r
+ |* Methodes *|\r
+ \*-------------------------------------*/\r
+\r
+void Chronos::start()\r
+ {\r
+ // cout << "Chronos : start" << endl;\r
+\r
+ isRunning = true;\r
+\r
+ deltaTime = -1;\r
+ timeStart = time();\r
+ }\r
+\r
+double Chronos::stop()\r
+ {\r
+ //cout << "Chronos : stop" << endl;\r
+\r
+ isRunning = false;\r
+\r
+ timeStop = time();\r
+ deltaTime = timeStop - timeStart;\r
+\r
+ return deltaTime;\r
+ }\r
+\r
+double Chronos::getDeltaTime() const\r
+ {\r
+ if (isRunning)\r
+ {\r
+ cout << "Chronos : Warning : Stop chrono befor, or use methode timeFlight() instead!" << endl;\r
+ return -1;\r
+ }\r
+ else\r
+ {\r
+ return deltaTime;\r
+ }\r
+ }\r
+\r
+double Chronos::timeFlight() const\r
+ {\r
+ return time() - timeStart;\r
+ }\r
+\r
+void Chronos::print(const string& titre) const\r
+ {\r
+ print(cout, titre);\r
+ }\r
+\r
+void Chronos::print(ostream& stream, const string& titre) const\r
+ {\r
+ double dt;\r
+ if (isRunning)\r
+ {\r
+ dt = timeFlight();\r
+ }\r
+ else\r
+ {\r
+ dt = deltaTime;\r
+ }\r
+ stream << titre << " " << dt << " (s)" << endl;\r
+ }\r
+\r
+double Chronos::time()\r
+ {\r
+ // return time(NULL); // #include <time.h> time(NULL) est time_t\r
+ // Problem : Sous linux : compte en seconde!\r
+\r
+ return omp_get_wtime(); //#include <omp.h>\r
+ }\r
+\r
+/*--------------------------------------*\\r
+ |* Friend *|\r
+ \*-------------------------------------*/\r
+\r
+ostream& operator <<(ostream& stream, const Chronos& chrono) // friend\r
+ {\r
+ chrono.print(stream);\r
+ return stream;\r
+ }\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r
+\r