From a5e7f009d78e6d5dfe5671aed29625e1b1fc7bda Mon Sep 17 00:00:00 2001
From: Moises Fernandez <moisesf@fmrib.ox.ac.uk>
Date: Thu, 28 Feb 2013 15:06:13 +0000
Subject: [PATCH] changed the pow(x,2) function with x*x

---
 CUDA/diffmodels_utils.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/CUDA/diffmodels_utils.h b/CUDA/diffmodels_utils.h
index 5e1fbfc..6d5d052 100644
--- a/CUDA/diffmodels_utils.h
+++ b/CUDA/diffmodels_utils.h
@@ -22,7 +22,11 @@
 #define d2lambda_gpu(d) (sqrt(double(d))) 
 
 //defined in diffmodels.h
-#define beta2f_gpu(beta) (pow(sin(double(beta)),2.0))
+//#define beta2f_gpu(beta) (pow(sin(double(beta)),2.0))
+__device__ inline  double beta2f_gpu(double beta){ 
+	double sinbeta= sin(beta);
+	return sinbeta*sinbeta;
+}
 
 //defined in diffmodels.h
 #define lambda2d_gpu(lambda) (lambda*lambda) 
@@ -37,7 +41,6 @@ __device__ inline double x2f_gpu(double x){
 	return abs(two_pi*atan(x));
 }
 
-
 //defined in miscmaths.h 
 __device__ inline  int sign_gpu(int x){ if (x>0) return 1; else { if (x<0) return -1; else return 0; } }
 __device__ inline int sign_gpu(float x){ if (x>0) return 1; else { if (x<0) return -1; else return 0; } }
-- 
GitLab