Skip to content
Snippets Groups Projects
diffmodels_utils.h 1.31 KiB
Newer Older
Moises Fernandez's avatar
Moises Fernandez committed
/*  diffmodels_utils.h

    Tim Behrens, Saad Jbabdi, Stam Sotiropoulos, Moises Hernandez  - FMRIB Image Analysis Group

    Copyright (C) 2005 University of Oxford  */

/*  CCOPYRIGHT  */

#ifndef __DIFFMODELS_UTILS
#define __DIFFMODELS_UTILS

//defined in diffmodels.h
#define two_pi_gpu 0.636619772

//defined in diffmodels.h
#define FSMALL_gpu 0.001

//defined in diffmodels.h
#define f2beta_gpu(f) (asin(double(sqrt(double(f)))))

//defined in diffmodels.h
#define d2lambda_gpu(d) (sqrt(double(d))) 

//defined in diffmodels.h
//#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) 

//defined in diffmodels.h
__device__ inline double f2x_gpu(double x){
	return tan(double((x)/two_pi)); 	
}

//defined in diffmodels.h
__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; } }
__device__ inline int sign_gpu(double x){ if (x>0) return 1; else { if (x<0) return -1; else return 0; } }


#endif