Ajout du squelette de Newton.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 03_Newton / moo / host / Newton.cu
diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/03_Newton/moo/host/Newton.cu b/WCudaMSE/Student_Cuda_Image/src/cpp/core/03_Newton/moo/host/Newton.cu
new file mode 100755 (executable)
index 0000000..028f924
--- /dev/null
@@ -0,0 +1,62 @@
+#include <iostream>\r
+#include <assert.h>\r
+\r
+#include "Newton.h"\r
+#include "Device.h"\r
+\r
+using std::cout;\r
+using std::endl;\r
+\r
+extern __global__ void newton(uchar4* ptrDevPixels, int w, int h, DomaineMath domaineMath);\r
+\r
+Newton::Newton(int w, int h)\r
+    : variateurAnimation(IntervalF(30, 100), 1),\r
+      w(w), h(h),\r
+      dg(8, 8, 1),\r
+      db(16, 16, 1),\r
+      title("Fractal Newton")\r
+    {\r
+    //print(dg, db);\r
+    Device::assertDim(dg, db);\r
+    }\r
+\r
+Newton::~Newton()\r
+    {\r
+    delete this->ptrDomaineMathInit;\r
+    }\r
+\r
+void Newton::runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath)\r
+    {\r
+    newton<<<dg,db>>>(ptrDevPixels, this->w, this->h, domaineMath);\r
+    }\r
+\r
+void Newton::animationStep()\r
+    {\r
+    this->t = this->variateurAnimation.varierAndGet();\r
+    }\r
+\r
+int Newton::getW()\r
+    {\r
+    return this->w;\r
+    }\r
+\r
+int Newton::getH()\r
+    {\r
+    return this->h;\r
+    }\r
+\r
+DomaineMath* Newton::getDomaineMathInit()\r
+    {\r
+    return this->ptrDomaineMathInit;\r
+    }\r
+\r
+float Newton::getT()\r
+    {\r
+    return 0;\r
+    }\r
+\r
+string Newton::getTitle()\r
+    {\r
+    return this->title;\r
+    }\r
+\r