public bool Equals(Long nominator, Long denominator) { if (this.IsDefault()) { return(false); } return(Powers.Equal(pows, Powers.FromFraction(nominator, denominator))); }
private static void Solve(int a, int b, out int x, out int y) { // Solve ax + by = 0 bool sameSign = Math.Sign(a) == Math.Sign(b); int[] d = Powers.FromFraction(Math.Abs(b), Math.Abs(a)); int[] d0, d1; Powers.Split(d, out d0, out d1); x = (int)Powers.ToInt(d0); y = (int)Powers.ToInt(d1); if (sameSign) { y = -y; } }
public Rational(Long nominator, Long denominator) { this.pows = Powers.FromFraction(nominator, denominator); }
public Rational(Long integer) { this.pows = Powers.FromFraction(integer, 1); }