Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / BilatTools_Cuda / src / core / cudatools / header / both / CalibreurF_GPU.h
diff --git a/WCudaMSE/BilatTools_Cuda/src/core/cudatools/header/both/CalibreurF_GPU.h b/WCudaMSE/BilatTools_Cuda/src/core/cudatools/header/both/CalibreurF_GPU.h
new file mode 100755 (executable)
index 0000000..5d5183c
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef CALIBREUR_F_CUDA_H_\r
+#define CALIBREUR_F_CUDA_H_\r
+\r
+#include "both_define.h"\r
+#include "IntervalF_GPU.h"\r
+\r
+namespace gpu\r
+    {\r
+\r
+    class CalibreurF\r
+       {\r
+       public:\r
+\r
+           /*--------------------------------------*\\r
+       |*              Constructor             *|\r
+            \*-------------------------------------*/\r
+\r
+           __BOTH__\r
+           CalibreurF(const IntervalF& input, const IntervalF& output)\r
+               {\r
+               this->pente = (output.b - output.a) / (input.b - input.a);\r
+               this->translation = output.a - pente * input.a;\r
+               }\r
+\r
+           // constructeur copie automatique car pas pointeur dans\r
+                   //  CalibreurF\r
+                   //  IntervalF\r
+\r
+//         // TODO dangereux\r
+//         __device__  __host__\r
+//         CalibreurF(const CalibreurF& source)\r
+//             {\r
+//             }\r
+\r
+\r
+\r
+           /*--------------------------------------*\\r
+       |*              Methodes                *|\r
+            \*-------------------------------------*/\r
+\r
+       public:\r
+\r
+           __BOTH__\r
+           void calibrer(float& value)\r
+               {\r
+               value = value * pente + translation;\r
+               }\r
+\r
+           __BOTH__\r
+           float getPente()\r
+               {\r
+               return this->pente;\r
+               }\r
+\r
+           __BOTH__\r
+           float getTranslation()\r
+               {\r
+               return this->translation;\r
+               }\r
+\r
+           /*--------------------------------------*\\r
+       |*              Attributs               *|\r
+            \*-------------------------------------*/\r
+\r
+       private:\r
+\r
+           // Output\r
+           float pente;\r
+           float translation;\r
+\r
+       };\r
+\r
+    }\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r