import poly.*; public class PolyClient { /** * A few simple test cases. This is not a comprehensive test. */ public static void main (String[] args) { APolynomial pc0 = PolyFactory.MakeConstPoly (0.0); // pc0 == 0. APolynomial pc1 = PolyFactory.MakeConstPoly (-1.0); // pc1 == -1. APolynomial p1 = PolyFactory.MakePoly (-5.0, 3, pc0); // p1 == -5x^3. APolynomial p2 = PolyFactory.MakePoly (2.0, 5, p1); // p2 == 2x^5 - 5x^3. APolynomial p3 = PolyFactory.MakePoly (-4.0, 6, p2); // p3 = -4x^6 + 2x^5 - 5x^3. APolynomial p4 = PolyFactory.MakePoly (3.0, 2, pc1); // p4 = 3x^2 - 1. APolynomial p5 = PolyFactory.MakePoly (-2.0, 5, p4); // p5 = -2x^5 + 3x^2 -1. System.out.println ("0 = " + pc0); System.out.println ("-1 = " + pc1); System.out.println ("3x^2 - 1 = " + p4); System.out.println ("-5x^3 + 0 = " + p1); System.out.println ("2x^5 - 5x^3 + 0 = " + p2); System.out.println ("-4x^6 + 2x^5 - 5x^3 + 0 = " + p3); System.out.println ("-4x^6 - 5x^3 + 3x^2 - 1 = " + p5.add (p3)); System.out.println ("\np5(x) = -2x^5 + 3x^2 -1"); System.out.println ("p5.eval (0) == p5.evalHorner (0): " + (p5.eval (0) == p5.evalHorner (0))); System.out.println ("p5.eval (1) == p5.evalHorner (1): " + (p5.eval (1) == p5.evalHorner (1))); APolynomial p6 = PolyFactory.MakePoly (-1.0, 1, pc1); // p6 = -x - 1. APolynomial p7 = PolyFactory.MakePoly (3.0, 2, p6); // p7 = 3x^2 - x - 1. APolynomial p8 = PolyFactory.MakePoly (6.0, 3, p7); // p8 = 6x^3 + 3x^2 - x - 1. System.out.println ("(6x^3 + 3x^2 - x - 1) div (3x^2 - 1) = " + p8.div (p4)); System.out.println ("(6x^3 + 3x^2 - x - 1) mod (3x^2 - 1) = " + p8.mod (p4)); } }