procedure pprod(d2: integer; var v1,v2,v3: vector);
var
  imax,i,j: integer;
  s1,s2,ss: scalar;
begin { pprod }
  imax:=min(d2,vdim-1);
  for i:=0 to imax do begin                     { p*p -> p }
    szero(ss);
    for j:=0 to i do begin
      sprod(v1[j],v2[i-j],s1);
      ssum(s1,ss,s2);
      ss:=s2;
    end;
    v3[i]:=ss;
  end;
  for i:=imax+1 to vdim do szero(v3[i]);
end { pprod };

