Code: Alles auswählen
function GNZMul(p1, p2: GNZType): GNZType;
var
l, i: Integer;
begin
l := length(p1) + length(p2); <--------
setlength(Result, l); <------
for i := 0 to l - 1 do begin
Result[i] := 0;
end;
for i := 0 to l - 1 do begin
GNZMulInternal(Result[i], p1[0], p2[i], l);
end;
end;
Da die sich ergebende Länge bei einer Multiplikation, maximal die Summe der Längen egeben kann, sollte es so korrigiert werden.