Newer
Older
/* 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