public static int bladerf_set_sample_rate(IntPtr dev, bladerf_module module, double rate, out double actual)
        {
            bladerf_rational_rate rational_rate   = new bladerf_rational_rate();
            bladerf_rational_rate rational_actual = new bladerf_rational_rate();

            rational_rate.integer = (UInt32)rate;
            rational_rate.denom   = 10000;
            rational_rate.num     = (UInt64)((rate - rational_rate.integer) * rational_rate.denom);
            actual = rational_rate.integer + rational_rate.num / (double)rational_rate.denom;
            int ret = bladerf_set_rational_sample_rate(dev, module, ref rational_rate, out rational_actual);

            if (ret == 0)
            {
                actual = rational_actual.integer + rational_actual.num / (double)rational_actual.denom;
            }
            return(ret);
        }
 public static extern unsafe int bladerf_get_rational_sample_rate(IntPtr dev, bladerf_module module, out bladerf_rational_rate rate);
 public static extern unsafe int bladerf_set_rational_sample_rate(IntPtr dev, bladerf_module module, ref bladerf_rational_rate rate, out bladerf_rational_rate actual);
 public static unsafe extern int bladerf_get_rational_smb_frequency(IntPtr dev, out bladerf_rational_rate rate);
 public static unsafe extern int bladerf_set_rational_smb_frequency(IntPtr dev, ref bladerf_rational_rate rate, out bladerf_rational_rate actual);
 public static int bladerf_set_sample_rate(IntPtr dev, bladerf_module module, double rate, out double actual)
 {
     bladerf_rational_rate rational_rate = new bladerf_rational_rate();
     bladerf_rational_rate rational_actual = new bladerf_rational_rate();
     rational_rate.integer = (UInt32) rate;
     rational_rate.denom = 10000;
     rational_rate.num = (UInt64) ((rate - rational_rate.integer) * rational_rate.denom);
     actual = rational_rate.integer + rational_rate.num / (double)rational_rate.denom;
     int ret = bladerf_set_rational_sample_rate(dev, module, ref rational_rate, out rational_actual);
     if (ret == 0)
     {
         actual = rational_actual.integer + rational_actual.num / (double)rational_actual.denom;
     }
     return ret;
 }
 public static unsafe extern int bladerf_set_rational_sample_rate(IntPtr dev, bladerf_module module, ref bladerf_rational_rate rate, out bladerf_rational_rate actual);
 public static unsafe extern int bladerf_get_rational_sample_rate(IntPtr dev, bladerf_module module, out bladerf_rational_rate rate);