Исходный файл Polynom.java:
class Polynom { static final int MAX_DEG = 1024; int deg; double coe[];
public Polynom() { deg = 0; coe = new double[MAX_DEG-1]; }
public Polynom(int degree, double coeff[]) { deg = degree; int i; coe = new double[MAX_DEG-1]; for (i=0; i < java.lang.reflect.Array.getLength(coeff); i++) coe[i] = coeff[i]; }
public int degree() { return deg; }
public double coeff(int i) { return coe[i]; }
public Polynom add (Polynom p) { int i, nDeg; nDeg = degree(); double nCoeff[] = new double[MAX_DEG-1];
if (nDeg < p.degree()) nDeg = p.degree();
while (coeff(nDeg) == -p.coeff(nDeg)) nDeg--;
i = nDeg; while ( i >= 0 ) { nCoeff[i] = coeff(i) + p.coeff(i); i--; }
return(new Polynom(nDeg, nCoeff)); }
public Polynom multiply (Polynom p) { int i, j, nDeg; double tmp;
nDeg = degree() + p.degree(); double nCoeff[] = new double[MAX_DEG-1];
for (i = 0; i <= nDeg; i++) { tmp = 0; for (j = 0; j<=i; j++) tmp += ( coeff(j) * p.coeff(i-j) ); nCoeff[i] = tmp; } return(new Polynom(nDeg, nCoeff)); } }