Polynomial long division: Difference between revisions

Content added Content deleted
Line 306: Line 306:
double[] d = mul(0.0, dN - dD) ~ D;
double[] d = mul(0.0, dN - dD) ~ D;
double mult = q[dN - dD] = N[$-1] / d[$-1];
double mult = q[dN - dD] = N[$-1] / d[$-1];
foreach (ref el; d)
d[] *= mult;
el *= mult;
N[] -= d[];
double[] newN;
foreach (i; 0 .. min(N.length, d.length))
newN ~= N[i] - d[i];
N = newN;
dN = degree(N);
dN = degree(N);
}
}