static void Main(string[] args) { Polynomial result=null; Polynomial a = new Polynomial(new double[] { 3, 2, 1 }); Polynomial b = new Polynomial(new double[] { 5, 6, 7 }); Polynomial copy=new Polynomial(a); Polynomial expectedResult = new Polynomial(new double[] { 8, 8, 8 }); result = a - result; Console.WriteLine(result.Equals(expectedResult)); Console.WriteLine("adgfsdklgf"); Console.ReadLine(); }
public Polynomial(Polynomial obj): this(obj.m_CoefficientArray) { }
public bool Equals(Polynomial obj) { if (ReferenceEquals(null, obj)) return false; if (ReferenceEquals(this, obj)) return true; return EqualsCoefficientArrays(m_CoefficientArray, obj.m_CoefficientArray); }
/// <summary> /// Multiplies two polynomials /// </summary> /// <param name="a">The first multiplier</param> /// <param name="b">The second multiplier</param> /// <param name="c">The third multiplier</param> /// <returns></returns> public static Polynomial Multiply(Polynomial a, Polynomial b, Polynomial c) => Multiply(Multiply(a, b), c);
/// <summary> /// Multiplies two polynomials /// </summary> /// <param name="a">The first multiplier</param> /// <param name="b">The second multiplier</param> /// <returns></returns> public static Polynomial Multiply(Polynomial a, Polynomial b) { if (a == null) throw new ArgumentNullException(nameof(a)); if (b == null) throw new ArgumentNullException(nameof(b)); Polynomial result = new Polynomial(new double[0]); for( int i = 0; i <= a.Degree ; i++ ) result += b.Multiply(a[i], i); return result; }
/// <summary> /// Calculate the diffrence of two polynomials /// </summary> /// <param name="a">The minuend</param> /// <param name="b">The subtrahend</param> /// <returns></returns> public static Polynomial Subtraction(Polynomial a, Polynomial b) => a + (-b);
/// <summary> /// Calculate the sum of three polynomials /// </summary> /// <param name="a">The first summand</param> /// <param name="b">The second summand</param> /// <param name="c">The third summand</param> /// <returns>The sum of three polynomials</returns> public static Polynomial Add(Polynomial a, Polynomial b, Polynomial c) => Add(Add(a, b), c);
/// <summary> /// Calculate the sum of two polynomials /// </summary> /// <param name="a">The first summand</param> /// <param name="b">The second summand</param> /// <returns>The sum of two polynomials</returns> public static Polynomial Add(Polynomial a, Polynomial b) { if (a == null) throw new ArgumentNullException(nameof(a)); if (b == null) throw new ArgumentNullException(nameof(b)); int newDegree = Math.Max(a.Degree, b.Degree); double[] tempArray = new double[newDegree + 1]; for (int i = 0; i <= newDegree; i++) { double temp = 0; if (i <= a.Degree) temp += a[i]; if (i <= b.Degree) temp += b[i]; tempArray[i] = temp; } return new Polynomial(tempArray); }