Exemple #1
0
		/// <summary>
		/// Initializes a new instance of the <see cref="Polynomial"/> class using values from a given <see cref="Polynomial"/> instance.
		/// </summary>
		/// <param name="polynomial">A <see cref="Polynomial"/> instance.</param>
		public Polynomial(Polynomial polynomial)
		{
			_coefficients = new double[polynomial._coefficients.Length];
			for (int i = 0; i < _coefficients.Length; i++)
			{
				_coefficients[i] = polynomial._coefficients[i];
			}
		}
Exemple #2
0
		public static Polynomial Negate(Polynomial p)
		{
			throw new NotImplementedException();
		}
Exemple #3
0
		public static Polynomial Divide(double scalar, Polynomial p)
		{
			throw new NotImplementedException();
		}
Exemple #4
0
		public static void Divide(double scalar, Polynomial p, Polynomial result)
		{
			throw new NotImplementedException();
		}
Exemple #5
0
		public static void Multiply(Polynomial left, Polynomial right, Polynomial result)
		{
			throw new NotImplementedException();
		}
Exemple #6
0
		public static void Multiply(Polynomial p, double scalar, Polynomial result)
		{
			throw new NotImplementedException();
		}
Exemple #7
0
		public static void Subtract(Polynomial left, Polynomial right, Polynomial result)
		{
			Polynomial largeOrder, smallOrder;
			if (left.Order >= right.Order)
			{
				largeOrder = left;
				smallOrder = right;
			}
			else
			{
				largeOrder = right;
				smallOrder = left;
			}

			result.Order = largeOrder.Order;
			for (int i = 0; i < smallOrder._coefficients.Length; i++)
			{
				result._coefficients[i] = largeOrder._coefficients[i] + smallOrder._coefficients[i];
			}
			for (int i = smallOrder._coefficients.Length; i < largeOrder._coefficients.Length; i++)
			{
				result._coefficients[i] = largeOrder._coefficients[i];
			}
		}
Exemple #8
0
		public static Polynomial Multiply(Polynomial p, double scalar)
		{
			throw new NotImplementedException();
		}
Exemple #9
0
		public static Polynomial Subtract(double scalar, Polynomial p)
		{
			throw new NotImplementedException();
		}
Exemple #10
0
		public static Polynomial Subtract(Polynomial left, Polynomial right)
		{
			throw new NotImplementedException();
		}
Exemple #11
0
		public static Polynomial Add(Polynomial left, Polynomial right)
		{
			Polynomial largeOrder, smallOrder;
			if (left.Order >= right.Order)
			{
				largeOrder = left;
				smallOrder = right;
			}
			else
			{
				largeOrder = right;
				smallOrder = left;
			}

			Polynomial result = new Polynomial(largeOrder);

			for (int i = 0; i < smallOrder._coefficients.Length; i++)
			{
				result._coefficients[i] += smallOrder._coefficients[i];
			}

			return result;
		}
Exemple #12
0
		public Polynomial GetInverse()
		{
			int order = this.Order;
			Polynomial result = new Polynomial(order);
			for (int i = 0; i < _coefficients.Length; i++)
			{
				result._coefficients[i] = _coefficients[order - i];
			}

			return result;
		}
Exemple #13
0
		public int CompareTo(Polynomial p)
		{
			int i = this._coefficients.Length - 1;
			int j = p._coefficients.Length - 1;

			while (i != j)
			{
				if (i > j)
				{
					if (_coefficients[i--] != 0)
						return 1;
				}
				else
				{
					if (p._coefficients[j--] != 0)
						return -1;
				}
			}

			while (i >= 0)
			{
				if (_coefficients[i] > p._coefficients[i])
					return 1;
				if (_coefficients[i] < p._coefficients[i])
					return -1;
				i--;
			}

			return 0;
		}