public void Test_OperatorPlus_TwoOperands()
 {
     Polynom p = new Polynom(0, 1, 2, 3, 4);
     Polynom q = new Polynom(0, 1, 2, 3, 4);
     Polynom r = new Polynom(0, 2, 4, 6, 8);
     Assert.IsTrue(p + q == r);
 }
 public void PolynomAddTest()
 {
     Polynom first = new Polynom(new double[] { 1, 2, 3 });
     Polynom second = new Polynom(new double[] { 1, 2, 3 });
     Polynom result = new Polynom(new double[] { 2, 4, 6 });
     Assert.AreEqual(Polynom.Add(first, second), result);
 }
 public void Test_OperatorMines_TwoOperands()
 {
     Polynom p = new Polynom(0, 1, 2, 3, 4);
     Polynom q = new Polynom(0, 1, 2, 3, 4);
     Polynom r = new Polynom(0);
     Assert.IsTrue(p - q == r);
 }
 public void Test_OperatorMultiply_TwoOperands()
 {
     Polynom p = new Polynom(0, 1, 2, 3);
     Polynom q = new Polynom(0, 1);
     Polynom r = new Polynom(0, 0, 1, 2, 3);
     Assert.IsTrue(p * q == r);
 }
 public void PolynomMinusOpTest()
 {
     Polynom result = new Polynom(new double[] { 1, 2, 3 });
     Polynom second = new Polynom(new double[] { 1, 2, 3 });
     Polynom first = new Polynom(new double[] { 2, 4, 6 });
     Assert.AreEqual(first - second, result);
 }
 public void Equals_2PolynomsWithSameCoefs_ReturnedTrue()
 {
     double[] array = {0, 1, 2, 3};
     double[] brray = {0, 1, 2, 3};
     Polynom p = new Polynom(array);
     Polynom q = new Polynom(brray);
     Assert.IsTrue(p.Equals(q));
 }
 public void PolynomMultiplicationOnNumberTest()
 {
     var arr = new double[] { 2, 4, 6 };
     double value = 5;
     Polynom first = new Polynom(arr);
     for (int i = 0; i < arr.Length; i++)
         arr[i] *= value;
     Polynom result = new Polynom(arr);
     Assert.AreEqual(first*5, result);
 }
        public void CheckSizeOfNewPolynom()
        {
            // arrange
            Polynom.Polynom a      = new Polynom.Polynom(3);
            int             actual = 3;
            // act
            int result = a.GetN;

            // assert
            Assert.AreEqual(actual, result);
        }
 public void CheckSubstractionMethod()
 {
     // arrange
     Polynom.Polynom a      = new Polynom.Polynom(3, 3, 1, 11);
     Polynom.Polynom b      = new Polynom.Polynom(3, 0, 0, 11);
     Polynom.Polynom actual = new Polynom.Polynom(6, 3, 1, 0);
     // act
     Polynom.Polynom result = a - b;
     // assert
     Assert.AreEqual(actual.ToString(), result.ToString());
 }
        public void CheckToStringMethod()
        {
            // arrange
            Polynom.Polynom a      = new Polynom.Polynom(3, 3, 1, 11);
            string          actual = "3X^3+3X^2+X+11";
            // act
            string result = a.ToString();

            // assert
            Assert.AreEqual(actual, result);
        }
예제 #11
0
        public LagrangePolynom(double[] array)
            : base(array)
        {
            Polynom x = new Polynom(new double[] { 0, 1 });
            Polynom L = new Polynom();

            for (int i = 0; i < array.Length; i++)
            {
                Polynom li = new Polynom(new double[] { 1 });
                for (int j = 0; j < array.Length; j++)
                    if (j != i)
                    {
                        li *= (x - array[j]) / (array[i] - array[j]);
                    }

                L += li * f(array[i]);
            }

            this._nodes = L.Nodes;
            this._n = L.n;
        }
        static void Main(string[] args)
        {
            Polynom.Polynom a = new Polynom.Polynom(new double[] { -1, 0, 3, 4 });
            Polynom.Polynom b = new Polynom.Polynom(new double[] { 2, 3, 4 });

            Console.WriteLine(a-b);
            Console.WriteLine(3*a);
            Polynom.Polynom c = a.Clone() as Polynom.Polynom;
            Console.WriteLine(c*0);
            double[] array= a.Coefficient;
            array[0] = 10;
            a=a.SetCoefficient(2, 1);

            Console.WriteLine(a.Equals(a));


            var arr = new double[] { 2, 4, 6 };
            double value = 5;
            Polynom.Polynom first = new Polynom.Polynom(arr);
            for (int i = 0; i < arr.Length; i++)
                arr[i] *= value;
            Polynom.Polynom result = new Polynom.Polynom(arr);
            Console.WriteLine((first*value).Equals(result));
        }
 public void Polynoms_Multiply(Polynom poly1, Polynom poly2, Polynom result)
 {
     Assert.IsTrue((poly1 * poly2).ToString() == result.ToString());
 }
 public void Polynoms_Subtract(Polynom poly1, Polynom poly2, Polynom result)
 {
     Assert.IsTrue((poly1 - poly2).ToString() == result.ToString());
 }
 public void Polynom_Equals(Polynom poly1, Polynom poly2, bool result)
 {
     Assert.IsTrue(poly1.Equals(poly2) == result);
 }
 public void Polynoms_Add(Polynom poly1, Polynom poly2, Polynom result)
 {
     Assert.IsTrue((poly1 + poly2).ToString() == result.ToString());
 }
예제 #17
0
 public string OperatorMultiply_Test(Polynom p1, Polynom p2)
 {
     return (p1 * p2).ToString ();
 }
 public void Polynom_GetHashCode(Polynom poly1, Polynom poly2, bool result)
 {
     Assert.IsTrue((poly1.GetHashCode() == poly2.GetHashCode()) == result);
 }
예제 #19
0
 public string OperatorPlus_Test(Polynom p1, Polynom p2)
 {
     return (p1 + p2).ToString ();
 }
        public static Polynom operator*(Polynom poly1, Polynom poly2)
        {
            Polynom result = new Polynom(poly1.Length + poly2.Length);
            for (int i = 0; i < poly2.Length; i++)
            {
                double[] buf = new double[poly1.Length + i];
                for (int j = 0; j < poly1.Length; j++)
                {
                    buf[j + i] = poly1[j] * poly2[i];
                }
                result += new Polynom(buf);
            }

            return result;
        }
예제 #21
0
        static void Main(string[] args)
        {
            double[] a1 = new double[] { -2, 1, 4, -1 };
            double[] a2 = new double[] { 3, 0, 27 };
            Monomial mono = new Monomial(5, 1);
            Polynom p1 = new Polynom(a1);
            Polynom p2 = new Polynom(a2);

            p1.Print();
            p2.Print();
            Console.WriteLine();

            (p1 + p2).Print();
            (p1 - p2).Print();
            (p1 * p2).Print();
            Console.WriteLine();

            (p1 + mono).Print();
            (p1 - mono).Print();
            (p1 * mono).Print();
            Console.WriteLine();

            (p1 + 3).Print();
            (p1 - 3).Print();
            (p1 * 3).Print();
            Console.WriteLine();

            LagrangePolynom lp1 = new LagrangePolynom(new double[] {-1.5, -0.75, 0, 0.75, 1.5});
            lp1.Print();
            Console.WriteLine(lp1.Calc(2));

            Console.ReadLine();
        }
 public void Polynom_MultiplyScalar(Polynom poly1, double scalar, Polynom result)
 {
     Assert.IsTrue((poly1 * scalar).ToString() == result.ToString());
 }
예제 #23
0
 public string OperatorMinus_Test(Polynom p1, Polynom p2)
 {
     return (p1 - p2).ToString ();
 }
 public void Polynom_MultiplyScalar(Polynom poly1, string result)
 {
     Assert.IsTrue(poly1.ToString() == result.ToString());
 }
 public void PolynomClonTest()
 {
     Polynom first = new Polynom(new double[] { 2, 4, 6 });
     Polynom second = first.Clone() as Polynom;
     Assert.AreEqual(first , second);
 }