コード例 #1
0
 Rational(
     Rational copy
     )
 {
     numerator = new Polynomial(copy.numerator);
     denominator = new Polynomial(copy.denominator);
 }
コード例 #2
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Stretch a the inverse of a rational with a real number quotient.
 /// </summary>
 public static Rational operator /(
     double n,
     Rational rational)
 {
     Rational ret = new Rational(rational);
     ret.InvertInplace();
     ret.MultiplyInplace(n);
     return ret;
 }
コード例 #3
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Negate a rational.
 /// </summary>
 public static Rational operator -(Rational rational)
 {
     Rational ret = new Rational(rational);
     ret.NegateInplace();
     return ret;
 }
コード例 #4
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Subtract a real number from a rational.
 /// </summary>
 public static Rational operator -(
     Rational rational,
     double n)
 {
     Rational ret = new Rational(rational);
     ret.SubtractInplace(n);
     return ret;
 }
コード例 #5
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Subtract a polynomial from a rational.
 /// </summary>
 public static Rational operator -(
     Rational rational,
     Polynomial polynomial)
 {
     Rational ret = new Rational(rational);
     ret.SubtractInplace(polynomial);
     return ret;
 }
コード例 #6
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Add a polynomial to a rational.
 /// </summary>
 public static Rational operator +(
     Rational rational,
     Polynomial polynomial)
 {
     Rational ret = new Rational(rational);
     ret.AddInplace(polynomial);
     return ret;
 }
コード例 #7
0
        CompareTo(
            Rational rational
            )
        {
            int n = numerator.CompareTo(rational.numerator);
            if(n == 0)
            {
                n = denominator.CompareTo(rational.denominator);
            }

            return n;
        }
コード例 #8
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
        /// <summary>
        /// Create a new rational as the result of subtracting a rational from this rational.
        /// </summary>
        /// <param name="rational">The rational to subtract.</param>
        public Rational Subtract(Rational rational)
        {
            if(_denominator.Equals(rational._denominator))
            {
                return new Rational(
                    _numerator - rational._numerator,
                    _denominator.Clone());
            }

            Polynomial num = (_numerator * rational._denominator) - (rational._numerator * _denominator);
            Polynomial denom = _denominator * rational._denominator;
            return new Rational(num, denom);
        }
コード例 #9
0
 Rational(Rational copy)
 {
     _numerator   = new Polynomial(copy._numerator);
     _denominator = new Polynomial(copy._denominator);
 }
コード例 #10
0
 Equals(
     Rational rational1,
     Rational rational2)
 {
     return(rational1.Equals(rational2));
 }
コード例 #11
0
 Equals(Rational rational)
 {
     return(_numerator.Equals(rational._numerator) &&
            _denominator.Equals(rational._denominator));
 }
コード例 #12
0
 Divide(Rational rational)
 {
     return(new Rational(
                _numerator * rational._denominator,
                _denominator * rational._numerator));
 }
コード例 #13
0
 public static bool Equals(Rational rational1, Rational rational2)
 {
     return(rational1.Equals(rational2));
 }
コード例 #14
0
 public bool Equals(Rational rational)
 {
     return(numerator.Equals(rational.numerator) && denominator.Equals(rational.denominator));
 }
コード例 #15
0
 /// <summary>Create a new rational by copy</summary>
 /// <param name="copy">A rational to copy from.</param>
 public Rational(Rational copy)
 {
     numerator   = new Polynomial(copy.numerator);
     denominator = new Polynomial(copy.denominator);
 }
コード例 #16
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
        /// <summary>
        /// Compare this rational to another rational.
        /// </summary>
        public int CompareTo(Rational rational)
        {
            int n = _numerator.CompareTo(rational._numerator);
            if(n == 0)
            {
                n = _denominator.CompareTo(rational._denominator);
            }

            return n;
        }
コード例 #17
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Check whether this rational is equal to another rational.
 /// </summary>
 public bool Equals(Rational rational)
 {
     return _numerator.Equals(rational._numerator)
         && _denominator.Equals(rational._denominator);
 }
コード例 #18
0
ファイル: Rational.cs プロジェクト: xuchuansheng/GenXSource
		public Rational Add(Rational rational)
		{
			if(denominator.Equals(rational.denominator))
				return new Rational(numerator+rational.numerator,denominator.Clone());
			Polynomial num = numerator*rational.denominator + rational.numerator*denominator;
			Polynomial denom = denominator*rational.denominator;
			return new Rational(num,denom);
		}
コード例 #19
0
 public Rational Divide(Rational rational)
 {
     return(new Rational(numerator * rational.denominator, denominator * rational.numerator));
 }
コード例 #20
0
ファイル: Rational.cs プロジェクト: xuchuansheng/GenXSource
		public int CompareTo(Rational rational)
		{
			int n = numerator.CompareTo(rational.numerator);
			if(n == 0)
				n = denominator.CompareTo(rational.denominator);
			return n;
		}
コード例 #21
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Stretch a rational with a real number factor.
 /// </summary>
 public static Rational operator *(
     Rational rational,
     double n)
 {
     Rational ret = new Rational(rational);
     ret.MultiplyInplace(n);
     return ret;
 }
コード例 #22
0
 operator +(
     Polynomial polynomial,
     Rational rational
     )
 {
     Rational ret = new Rational(rational);
     ret.AddInplace(polynomial);
     return ret;
 }
コード例 #23
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Add a real number to a rational.
 /// </summary>
 public static Rational operator +(
     Rational rational,
     double n)
 {
     Rational ret = new Rational(rational);
     ret.AddInplace(n);
     return ret;
 }
コード例 #24
0
 operator +(
     double n,
     Rational rational
     )
 {
     Rational ret = new Rational(rational);
     ret.AddInplace(n);
     return ret;
 }
コード例 #25
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Subtract a rational from a polynomial.
 /// </summary>
 public static Rational operator -(
     Polynomial polynomial,
     Rational rational)
 {
     Rational ret = new Rational(rational);
     ret.NegateInplace();
     ret.AddInplace(polynomial);
     return ret;
 }
コード例 #26
0
 operator *(
     double n,
     Rational rational
     )
 {
     Rational ret = new Rational(rational);
     ret.MultiplyInplace(n);
     return ret;
 }
コード例 #27
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Subtract a rational from a real number.
 /// </summary>
 public static Rational operator -(
     double n,
     Rational rational)
 {
     Rational ret = new Rational(rational);
     ret.NegateInplace();
     ret.AddInplace(n);
     return ret;
 }
コード例 #28
0
        Subtract(
            Rational rational
            )
        {
            if(denominator.Equals(rational.denominator))
            {
                return new Rational(
                    numerator - rational.numerator,
                    denominator.Clone()
                    );
            }

            Polynomial num = numerator * rational.denominator - rational.numerator * denominator;
            Polynomial denom = denominator * rational.denominator;
            return new Rational(num, denom);
        }
コード例 #29
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Stretch a rational with a real number quotient.
 /// </summary>
 public static Rational operator /(
     Rational rational,
     double n)
 {
     Rational ret = new Rational(rational);
     ret.DivideInplace(n);
     return ret;
 }
コード例 #30
0
 Multiply(
     Rational rational
     )
 {
     return new Rational(
         numerator * rational.numerator,
         denominator * rational.denominator
         );
 }
コード例 #31
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Check whether two rationals are equal.
 /// </summary>
 public static bool Equals(
     Rational rational1,
     Rational rational2)
 {
     return rational1.Equals(rational2);
 }
コード例 #32
0
 Divide(
     Rational rational
     )
 {
     return new Rational(
         numerator * rational.denominator,
         denominator * rational.numerator
         );
 }
コード例 #33
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Create a new rational as the result of dividing a rational from this rational.
 /// </summary>
 /// <param name="rational">The rational to divide with.</param>
 public Rational Divide(Rational rational)
 {
     return new Rational(
         _numerator * rational._denominator,
         _denominator * rational._numerator);
 }
コード例 #34
0
 Equals(
     Rational rational
         )
 {
     return numerator.Equals(rational.numerator)
         && denominator.Equals(rational.denominator);
 }
コード例 #35
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Create a new rational as the result of multiplying a rational to this rational.
 /// </summary>
 /// <param name="rational">The rational to multiply with.</param>
 public Rational Multiply(Rational rational)
 {
     return new Rational(
         _numerator * rational._numerator,
         _denominator * rational._denominator);
 }
コード例 #36
0
 Equals(
     Rational rational1,
     Rational rational2
     )
 {
     return rational1.Equals(rational2);
 }
コード例 #37
0
ファイル: Rational.cs プロジェクト: rmaalmeida/NNCG
 /// <summary>
 /// Initializes a new instance of the Rational class,
 /// by deep-copy from an existing rational.
 /// </summary>
 /// <param name="copy">A rational to copy from.</param>
 public Rational(Rational copy)
 {
     _numerator = new Polynomial(copy._numerator);
     _denominator = new Polynomial(copy._denominator);
 }
コード例 #38
0
 public Rational Multiply(Rational rational)
 {
     return(new Rational(numerator * rational.numerator, denominator * rational.denominator));
 }