Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / BilatTools_CPP / src / core / tools / cpp / VariateurF.cpp
diff --git a/WCudaMSE/BilatTools_CPP/src/core/tools/cpp/VariateurF.cpp b/WCudaMSE/BilatTools_CPP/src/core/tools/cpp/VariateurF.cpp
new file mode 100755 (executable)
index 0000000..8181794
--- /dev/null
@@ -0,0 +1,89 @@
+#include "VariateurF.h"\r
+#include <assert.h>\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Implementation                                  *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+VariateurF::VariateurF(const IntervalF& range, float dt)\r
+    {\r
+    this->dt = dt;\r
+    this->tMin = range.a;\r
+    this->tMax =range.b;\r
+\r
+    // Tools\r
+    this->isCroisssantPhase = true;\r
+    this->t =range.a;\r
+\r
+    assert(tMin<tMax);\r
+    }\r
+\r
+VariateurF::VariateurF()\r
+    {\r
+    //rien\r
+    }\r
+\r
+VariateurF::~VariateurF()\r
+    {\r
+    // rien\r
+    }\r
+\r
+double VariateurF::varierAndGet()\r
+    {\r
+    if (isCroisssantPhase)\r
+       {\r
+       if (t >= tMax)\r
+           {\r
+           isCroisssantPhase = false;\r
+           t -= dt;\r
+           }\r
+       else\r
+           {\r
+           t += dt;\r
+           }\r
+       }\r
+    else\r
+       {\r
+       if (t <= tMin)\r
+           {\r
+           isCroisssantPhase = true;\r
+           t += dt;\r
+           }\r
+       else\r
+           {\r
+           t -= dt;\r
+           }\r
+       }\r
+\r
+    return t;\r
+    }\r
+\r
+double VariateurF::get()\r
+    {\r
+    return t;\r
+    }\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r
+\r