/// <summary> /// Operátor "není rovno" /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> public static bool operator !=(Fraction a, Fraction b) { return(!Fraction._IsEqual(a, b)); }
/// <summary> /// Vrátí daný zlomek, zjednodušený do normalizovaného tvaru (má část Integral podle potřeby, nemá záp**ný jmenovatel, zlomková část je zjednodušená na společného dělitele) /// </summary> /// <param name="f"></param> /// <returns></returns> public static Fraction Simplify(Fraction f) { return(_CreateSimplify(f, true, SimplifyIntegralMode.ToIntegral, true)); }
/// <summary> /// Zjednodušit zlomek /// </summary> private static Fraction _CreateSimplify(Fraction source, bool negativeDenominatorToPositive, SimplifyIntegralMode integralMode, bool simplifyFraction) { return(_CreateSimplify(source.Integral, source.Numerator, source.Denominator, negativeDenominatorToPositive, integralMode, simplifyFraction)); }
/// <summary> /// Porovnání dvou instancí této struktury, zda obsahují shodná data /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> private static bool _IsEqual(Fraction a, Fraction b) { return(a._Integral == b._Integral && a._Numerator == b._Numerator && a._Denominator == b._Denominator); }