Исходный файл 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));
}
}