public static BigFloat Add(BigFloat left, BigFloat right) { int sub = left.m_order - right.m_order; if (sub < 0) { right.m_order = left.m_order; right.m_M *= BigInteger.Pow(10, -sub); } else if (sub > 0) { left.m_order = right.m_order; left.m_M *= BigInteger.Pow(10, sub); } left.m_M += right.m_M; return left; }
public static BigFloat MultiPly(BigFloat left, BigFloat right) { left.m_M *= right.m_M; left.m_order += right.m_order; return left; }
public static BigFloat Abs(BigFloat value) { if (value.m_M < 0) value.m_M = -value.m_M; return value; }