Example #1
0
 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()+"]"
      ));   }
 }
Example #2
0
 /// <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);
 }
Example #3
0
 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);
 }
Example #4
0
 public static EDecimal FromLegacy(ExtendedDecimal ed)
 {
     return(ExtendedDecimal.FromLegacy(ed));
 }
Example #5
0
 public static ExtendedDecimal ToLegacy(EDecimal ed)
 {
     return(ExtendedDecimal.ToLegacy(ed));
 }
Example #6
0
 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());
 }
Example #7
0
 private string DecFracString(ExtendedDecimal df)
 {
     return "ExtendedDecimal.FromString(\""+df.ToString()+"\")";
 }
Example #8
0
 public static EDecimal FromLegacy(ExtendedDecimal ed) {
   return ExtendedDecimal.FromLegacy(ed);
 }