ulong fp_eq (float a, float b, float epsilon)
{
  if (fp_abs (b - a) == 0.00 ||
      fp_abs (b - a) < fp_abs (b) * epsilon) 
  { 
    return 1;
  }
  else
  { 
    return 0;
  }
}