// class that provides the small evaluated Poly at alpha // at the alpha locations import java.awt.*; public class EvaluatedPoly extends BinaryPoly { EvaluatedPoly() { super(3); } EvaluatedPoly(Integer [] coeffs) { super(3, coeffs); } // ------------------------------ public Alpha lookup() { if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(0),new Integer(0),new Integer(0)} ))) return new Alpha(0); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(1),new Integer(0),new Integer(0)} ))) return new Alpha(1); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(0),new Integer(1),new Integer(0)} ))) return new Alpha(2); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(0),new Integer(0),new Integer(1)} ))) return new Alpha(3); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(1),new Integer(0),new Integer(0)} ))) return new Alpha(4); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(1),new Integer(1),new Integer(0)} ))) return new Alpha(5); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(0),new Integer(1),new Integer(1)} ))) return new Alpha(6); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(1),new Integer(0),new Integer(1)} ))) return new Alpha(7); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(0),new Integer(1),new Integer(0)} ))) return new Alpha(8); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(1),new Integer(0),new Integer(1)} ))) return new Alpha(9); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(1),new Integer(1),new Integer(0)} ))) return new Alpha(10); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(0),new Integer(1),new Integer(1),new Integer(1)} ))) return new Alpha(11); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(1),new Integer(1),new Integer(1)} ))) return new Alpha(12); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(0),new Integer(1),new Integer(1)} ))) return new Alpha(13); else if (this.equals(new EvaluatedPoly(new Integer[] {new Integer(1),new Integer(0),new Integer(0),new Integer(1)} ))) return new Alpha(14); else return (new Alpha(Integer.MIN_VALUE)); } // ----------------------- public void printPoly(TextArea text) { boolean plusflag = false; for (int j=0; j <= this.degree; j++) { if ((j==0) && (((Integer)coeffs[j]).intValue()!=0)) { plusflag = true; text.append("1"); } else if (((Integer)coeffs[j]).intValue()!=0) { if (plusflag) text.append(" + "); text.append("a^" + j); plusflag=true; } } if (!plusflag) // no polynomial printed text.append("Zero Polynomial"); } }