From b62cb0a168867aaab9e6160bfbf793fa8fb9d767 Mon Sep 17 00:00:00 2001
From: Berenger Bramas <Berenger.Bramas@inria.fr>
Date: Wed, 25 Mar 2015 11:39:25 +0100
Subject: [PATCH] Update opencl

---
 Src/GroupTree/TestKernel/FTestOpenCLCode.hpp    | 8 +++++++-
 Tests/noDist/testBlockedWithOpenCLAlgorithm.cpp | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/Src/GroupTree/TestKernel/FTestOpenCLCode.hpp b/Src/GroupTree/TestKernel/FTestOpenCLCode.hpp
index 743cd3c9b..4bc796aa1 100644
--- a/Src/GroupTree/TestKernel/FTestOpenCLCode.hpp
+++ b/Src/GroupTree/TestKernel/FTestOpenCLCode.hpp
@@ -7,6 +7,7 @@
 #include "../OpenCl/FTextReplacer.hpp"
 
 // Initialize the types
+template <class FReal>
 class FTestOpenCLCode{
     FTextReplacer kernelfile;
     size_t dim;
@@ -14,7 +15,12 @@ class FTestOpenCLCode{
 public:
     //FTestOpenCLCode() : kernelfile("/home/berenger/Projets/ScalfmmGit/scalfmm/Src/GroupTree/OpenCl/FEmptyKernel.cl"){
     FTestOpenCLCode() : kernelfile("/home/berenger/Projets/ScalfmmGit/scalfmm/Src/GroupTree/TestKernel/FTestKernel.cl"){
-        kernelfile.replaceAll("___FReal___", "double");
+        if(sizeof(FReal) == sizeof(double)){
+            kernelfile.replaceAll("___FReal___", "double");
+        }
+        else{
+            kernelfile.replaceAll("___FReal___", "float");
+        }
         kernelfile.replaceAll("___FParticleValueClass___", "long long");
         kernelfile.replaceAll("___NbSymbAttributes___", 0);
         kernelfile.replaceAll("___NbAttributesPerParticle___", 1);
diff --git a/Tests/noDist/testBlockedWithOpenCLAlgorithm.cpp b/Tests/noDist/testBlockedWithOpenCLAlgorithm.cpp
index ec137f494..c3ce53e0b 100644
--- a/Tests/noDist/testBlockedWithOpenCLAlgorithm.cpp
+++ b/Tests/noDist/testBlockedWithOpenCLAlgorithm.cpp
@@ -79,7 +79,7 @@ int main(int argc, char* argv[]){
     #ifdef ScalFMM_ENABLE_CUDA_KERNEL
         , FStarPUCudaWrapper<KernelClass, FCudaEmptyCell, FCudaGroupOfCells<FCudaEmptyCell>, FCudaGroupOfParticles<0, int>, FCudaGroupAttachedLeaf<0, int>, FCudaEmptyKernel<>>
     #endif
-        , FStarPUOpenClWrapper<GroupKernelClass, FOpenCLDeviceWrapper<GroupKernelClass, FTestOpenCLCode> >
+        , FStarPUOpenClWrapper<GroupKernelClass, FOpenCLDeviceWrapper<GroupKernelClass, FTestOpenCLCode<FReal> > >
          > GroupAlgorithm;
 
     typedef FTestCell                   CellClass;
-- 
GitLab