コード例 #1
0
 public bool Equals(Long nominator, Long denominator)
 {
     if (this.IsDefault())
     {
         return(false);
     }
     return(Powers.Equal(pows, Powers.FromFraction(nominator, denominator)));
 }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
 public Rational(Long nominator, Long denominator)
 {
     this.pows = Powers.FromFraction(nominator, denominator);
 }
コード例 #4
0
 public Rational(Long integer)
 {
     this.pows = Powers.FromFraction(integer, 1);
 }