Beispiel #1
0
 private static bool PolynomialEquality(Polynomial p1, LibPolynomial p2)
 {
     if (p1 == null || p2 == null || p1.Degree != p2.Degree)
     {
         return(false);
     }
     for (int i = 0; i < p1.Degree; i++)
     {
         if (p1[i] != p2[i])
         {
             return(false);
         }
     }
     return(true);
 }
Beispiel #2
0
        public void TestMultiplication()
        {
            double[]      sameSizeArr = new double[] { 17, 1, -13, 1, 0 };
            Polynomial    sameSize    = new Polynomial(sameSizeArr);
            LibPolynomial libSameSize = new LibPolynomial(sameSizeArr);

            Assert.True(PolynomialEquality(sameSize * polynom, libSameSize * libPolynom));

            double[]      biggerArr = new double[] { 1, 1, 1, 1, 1, 73 };
            Polynomial    bigger    = new Polynomial(biggerArr);
            LibPolynomial libBigger = new LibPolynomial(biggerArr);

            Assert.True(PolynomialEquality(bigger * polynom, libBigger * libPolynom));

            Assert.Throws(typeof(ArgumentException), () => { Polynomial test = polynom * null; });
        }
Beispiel #3
0
        public void TestMultOnNumber()
        {
            double positive = 73;
            double negative = -73;
            double zero     = 0;

            double[]      values     = new double[] { 1, 2, 0, 4, 5 };
            LibPolynomial onPositive = new LibPolynomial(values.Select(x => x * positive).ToArray());
            LibPolynomial onNegative = new LibPolynomial(values.Select(x => x * negative).ToArray());
            LibPolynomial onZero     = new LibPolynomial(values.Select(x => x * zero).ToArray());

            Assert.True(PolynomialEquality(polynom * positive, onPositive));
            Assert.True(PolynomialEquality(polynom * negative, onNegative));
            Assert.True(PolynomialEquality(polynom * zero, onZero));

            Polynomial nullPolynomial = null;

            Assert.Throws(typeof(ArgumentException), () => { Polynomial test = nullPolynomial * 42.1; });
        }
Beispiel #4
0
 public void Setup()
 {
     double[] values = new double[] { 1, 2, 0, 4, 5 };
     polynom    = new Polynomial(values); // 5x^4 + 4x^3 + 0x^2 + 2x + 1
     libPolynom = new LibPolynomial(values);
 }