Пример #1
0
        public static Polynomial <T, TField> Subtract(Polynomial <T, TField> p, Term <T> t)
        {
            var terms = p.CloneList();

            Add(terms, new Term <T>(t.Deg, p.Field.Negate(t.Coeff)));

            return(new Polynomial <T, TField>(terms));
        }
Пример #2
0
        public static Polynomial <T, TField> Add(Polynomial <T, TField> p, Term <T> t)
        {
            var terms = p.CloneList();

            Add(terms, t);

            return(new Polynomial <T, TField>(terms));
        }
Пример #3
0
        public static Polynomial <T, TField> Divide(Polynomial <T, TField> p, int n)
        {
            var terms = p.CloneList();

            for (int i = 0; i < terms.Count; i++)
            {
                terms[i] = new Term <T>(terms[i].Deg, p.Field.Divide(terms[i].Coeff, n));
            }

            return(new Polynomial <T, TField>(terms));
        }
Пример #4
0
        public static Polynomial <T, TField> Multiply(Polynomial <T, TField> p, Term <T> t)
        {
            var terms = p.CloneList();

            for (int i = 0; i < terms.Count; i++)
            {
                terms[i] = new Term <T>(terms[i].Deg + t.Deg, p.Field.Multiply(terms[i].Coeff, t.Coeff));
            }

            return(new Polynomial <T, TField>(terms));
        }
Пример #5
0
        public static Polynomial <T, TField> Subtract(Polynomial <T, TField> p1, Polynomial <T, TField> p2)
        {
            var terms = p1.CloneList();

            foreach (Term <T> t in p2)
            {
                Add(terms, new Term <T>(t.Deg, p1.Field.Negate(t.Coeff)));
            }

            return(new Polynomial <T, TField>(terms));
        }
Пример #6
0
        public static Polynomial <T, TField> Add(Polynomial <T, TField> p1, Polynomial <T, TField> p2)
        {
            var terms = p1.CloneList();

            foreach (Term <T> t in p2)
            {
                Add(terms, t);
            }

            return(new Polynomial <T, TField>(terms));
        }