   #endif
 }
 
-__device__
+__device__ __host__
 float af_BNOptionDelta(afOptionInfo_t* option, afBNOptionValuationSettings_t* settings) {
   float S         = option->S;
   option->S       = S + settings->epsilon;

  return (v1 - v2) / (2. * settings->epsilon);
}

__device__
float af_BNOptionGamma(afOptionInfo_t* option, afBNOptionValuationSettings_t* settings) {
  // This can be made faster by doing three price evaluations
  // instead of 4. - FIXME

  return AF_UNKNOWN_FLOAT;
}

__device__ __host__
float af_BNOptionTheta(afOptionInfo_t* option, afBNOptionValuationSettings_t* settings) {
  float tau     = option->tau;
  option->tau   = tau + settings->epsilon;
