Пример #1
0
        /// <summary>
        /// Method for shifting polynomial <paramref name="a"/> by <paramref name="degreeDelta"/> positions to the right
        /// </summary>
        /// <param name="a">Shifted polynomial</param>
        /// <param name="degreeDelta">Positions count for shifting</param>
        public static Polynomial RightShift(Polynomial a, int degreeDelta)
        {
            var c = new Polynomial(a);

            return(c.RightShift(degreeDelta));
        }
Пример #2
0
 /// <summary>
 /// Method for checking the equality of the current polynomial to the <paramref name="other"/>
 /// </summary>
 /// <param name="other">Another polynomial</param>
 /// <returns>Checking result</returns>
 private bool Equals(Polynomial other)
 {
     return(_coefficients.SequenceEqual(other._coefficients) && Equals(Field, other.Field));
 }
Пример #3
0
        /// <summary>
        /// Method for calculating the remainder of dividing polynomial <paramref name="a"/> by polynomial <paramref name="b"/>
        /// </summary>
        /// <param name="a">Dividend</param>
        /// <param name="b">Divider</param>
        public static Polynomial Modulo(Polynomial a, Polynomial b)
        {
            var c = new Polynomial(a);

            return(c.Modulo(b));
        }
Пример #4
0
        /// <summary>
        /// Method for calculating the quotient of dividing polynomial <paramref name="a"/> by number <paramref name="b"/>
        /// </summary>
        /// <param name="a">Dividend</param>
        /// <param name="b">Divider</param>
        public static Polynomial Divide(Polynomial a, int b)
        {
            var c = new Polynomial(a);

            return(c.Divide(b));
        }
Пример #5
0
        /// <summary>
        /// Method for multiplying polynomial <paramref name="a"/> by polynomial <paramref name="b"/>
        /// </summary>
        /// <param name="a">First factor</param>
        /// <param name="b">Second factor</param>
        public static Polynomial Multiply(Polynomial a, Polynomial b)
        {
            var c = new Polynomial(a);

            return(c.Multiply(b));
        }
Пример #6
0
 /// <summary>
 /// Method for multiplying number <paramref name="a"/> by polynomial <paramref name="b"/>
 /// </summary>
 /// <param name="a">First factor</param>
 /// <param name="b">Second factor</param>
 public static Polynomial Multiply(int a, Polynomial b)
 {
     return(Multiply(b, a));
 }
Пример #7
0
        /// <summary>
        /// Method for subtracting polynomial <paramref name="b"/> from <paramref name="a"/>
        /// </summary>
        /// <param name="a">Minuend</param>
        /// <param name="b">Subtrahend</param>
        public static Polynomial Subtract(Polynomial a, Polynomial b)
        {
            var c = new Polynomial(a);

            return(c.Subtract(b));
        }
Пример #8
0
        /// <summary>
        /// Method for adding polynomial <paramref name="b"/> to <paramref name="a"/>
        /// </summary>
        /// <param name="a">First term</param>
        /// <param name="b">Second term</param>
        public static Polynomial Add(Polynomial a, Polynomial b)
        {
            var c = new Polynomial(a);

            return(c.Add(b));
        }
Пример #9
0
 /// <summary>
 /// Constructor for creating copy of the polynomial <paramref name="polynomial"/>
 /// </summary>
 /// <param name="polynomial">The copied polynomial</param>
 public Polynomial(Polynomial polynomial)
 {
     Field         = polynomial.Field;
     _coefficients = polynomial._coefficients.ToList();
 }