public static void AssertDecFrac(ExtendedDecimal d3, string output, string name) { if(output==null && d3!=null)Assert.Fail(name+": d3 must be null"); if(output!=null && !d3.ToString().Equals(output)){ ExtendedDecimal d4=ExtendedDecimal.FromString(output); Assert.AreEqual(output,d3.ToString(),( name+": expected: ["+(d4.UnsignedMantissa).ToString()+","+(d4.Exponent).ToString()+"]\\n"+ "but was: ["+(d3.UnsignedMantissa).ToString()+","+(d3.Exponent).ToString()+"]" )); } }
/// <include file='../docs.xml' /// path='docs/doc[@name="M:PeterO.TrapException.#ctor(System.Int32,PeterO.PrecisionContext,System.Object)"]/*'/> public TrapException(int flag, PrecisionContext ctx, Object result) : base(String.Empty) { Object wrappedResult = result; var ed = result as EDecimal; var er = result as ERational; var ef = result as EFloat; if (ed != null) { wrappedResult = new ExtendedDecimal(ed); } if (er != null) { wrappedResult = new ExtendedRational(er); } if (ef != null) { wrappedResult = new ExtendedFloat(ef); } this.ete = new ETrapException( flag, ctx == null ? null : ctx.Ec, wrappedResult); }
private static decimal ExtendedDecimalToDecimal(ExtendedDecimal decfrac) { ExtendedDecimal newDecimal=decfrac.RoundToBinaryPrecision( PrecisionContext.CliDecimal); if(newDecimal==null) throw new OverflowException("This object's value is out of range"); return EncodeDecimal(BigInteger.Abs(newDecimal.Mantissa), -((int)(newDecimal.Exponent)), newDecimal.Mantissa.Sign<0); }
public static EDecimal FromLegacy(ExtendedDecimal ed) { return(ExtendedDecimal.FromLegacy(ed)); }
public static ExtendedDecimal ToLegacy(EDecimal ed) { return(ExtendedDecimal.ToLegacy(ed)); }
public void TestExtendedFloatDecFrac() { ExtendedFloat bf; bf = ExtendedFloat.FromInt64(20); Assert.AreEqual("20", ExtendedDecimal.FromExtendedFloat(bf).ToString()); bf = new ExtendedFloat((BigInteger)3, (BigInteger)(-1)); Assert.AreEqual("1.5", ExtendedDecimal.FromExtendedFloat(bf).ToString()); bf = new ExtendedFloat((BigInteger)(-3), (BigInteger)(-1)); Assert.AreEqual("-1.5", ExtendedDecimal.FromExtendedFloat(bf).ToString()); ExtendedDecimal df; df = ExtendedDecimal.FromInt64(20); Assert.AreEqual("20", df.ToExtendedFloat().ToString()); df = ExtendedDecimal.FromInt64(-20); Assert.AreEqual("-20", df.ToExtendedFloat().ToString()); df = new ExtendedDecimal((BigInteger)15, (BigInteger)(-1)); Assert.AreEqual("1.5", df.ToExtendedFloat().ToString()); df = new ExtendedDecimal((BigInteger)(-15), (BigInteger)(-1)); Assert.AreEqual("-1.5", df.ToExtendedFloat().ToString()); }
private string DecFracString(ExtendedDecimal df) { return "ExtendedDecimal.FromString(\""+df.ToString()+"\")"; }
public static EDecimal FromLegacy(ExtendedDecimal ed) { return ExtendedDecimal.FromLegacy(ed); }