public static double ConvertToDouble(RubyContext/*!*/ context, BigInteger/*!*/ bignum) { double result; if (bignum.TryToFloat64(out result)) { return result; } context.ReportWarning("Bignum out of Float range"); return bignum.Sign > 0 ? Double.PositiveInfinity : Double.NegativeInfinity; }
public static double ConvertBignumToFloat(BigInteger/*!*/ value) { double result; return value.TryToFloat64(out result) ? result : (value.IsNegative() ? Double.NegativeInfinity : Double.PositiveInfinity); }