home *** CD-ROM | disk | FTP | other *** search
- PROCEDURE poldiv(u: glnarray; n: integer; v: glnvarray; nv: integer;
- VAR q,r: glnarray);
- (* Programs using routine POLDIV must define the types
- TYPE
- glnarray = ARRAY [1..n] OF real;
- glnvarray = ARRAY [1..nv] OF real;
- in the main routine. *)
- VAR
- k,j: integer;
- BEGIN
- FOR j := 1 TO n DO BEGIN
- r[j] := u[j];
- q[j] := 0.0
- END;
- FOR k := n-nv DOWNTO 0 DO BEGIN
- q[k+1] := r[nv+k]/v[nv];
- FOR j := nv+k-1 DOWNTO k+1 DO BEGIN
- r[j] := r[j]-q[k+1]*v[j-k]
- END
- END;
- r[nv] := 0.0
- END;
-