public LongDecimal Plus(LongDecimal a, LongDecimal b) { a.Adduction(ref a, ref b); LongDecimal c = new LongDecimal("1.0", a.e); c.e = a.e; if (a.z && b.z) { c.m = c.m.Plus(a.m, b.m); } if (!(a.z || b.z)) { c.m = c.m.Plus(a.m, b.m); c.z = false; } if (!a.z && b.z) { c = c.Minus(b, a); } if (a.z && !b.z) { c = c.Minus(a, b); } a = Reduction(a); b = Reduction(b); c = c.Reduction(c); return(c); }
public LongDecimal Minus(LongDecimal a, LongDecimal b) { a.Adduction(ref a, ref b); LongDecimal c = new LongDecimal("1.0", a.e); c.e = a.e; if (a.m.StringComparer(b.m.x, a.m.x)) { c = new LongDecimal("-1.0", a.e); c.e = a.e; c.m = c.m.Minus(b.m, a.m); } else { c.m = c.m.Minus(a.m, b.m); } c = c.Reduction(c); return(c); }