44900 #include "rundecs.h"
44910     (*  COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER  *)
44920 (**)
44930 (**)
44940 FUNCTION GETMULT(NEWMULT: OBJECTP): OBJECTP; EXTERN;
44950 PROCEDURE GARBAGE (ANOBJECT: OBJECTP); EXTERN ;
44960 FUNCTION COPYDESC(ORIGINAL: OBJECTP; NEWSORT: STRUCTYPE): OBJECTP; EXTERN ;
44970 PROCEDURE COPYSLICE(ASLICE: OBJECTP); EXTERN ;
44980 (**)
44990 (**)
45000 FUNCTION ROWM(AMULT: OBJECTP; ROWCOUNT: INTEGER): OBJECTP;
45010 (*PROWMULT*)
45020   VAR NEWMULT, OLDESC, NEWDESC: OBJECTP;
45030       I: INTEGER; OLDROWS: 0..7;
45040     BEGIN
45050     WITH AMULT^ DO
45060       BEGIN
45070       IF BPTR<>NIL THEN (*A SLICE*)
45080         COPYSLICE(AMULT);
45090       OLDROWS := ROWS;
45100       ROWS := ROWCOUNT-1;
45110       NEWMULT := COPYDESC(AMULT, MULT);
45120       NEWMULT^.PVALUE := AMULT;
45130       NEWMULT := GETMULT(NEWMULT);
45140       ROWS := OLDROWS;
45150       WITH NEWMULT^ DO
45160         BEGIN
45170         ROWS := ROWCOUNT-1;
45180         FOR I := OLDROWS+1 TO ROWS DO WITH DESCVEC[I] DO
45190           BEGIN LI := 1; UI := 1; DI := PVALUE^.D0 END;
45200         LBADJ := LBADJ+DESCVEC[ROWS].DI*(ROWS-OLDROWS);
45210         FPINC(PVALUE^);
45220         END;
45230       IF FTST THEN GARBAGE(AMULT)
45240       END;
45250     ROWM := NEWMULT;
45260     END;
45270 (**)
45280 (**)
45290 (*-02() BEGIN END ; ()-02*)
45300 (*+01()
45310 BEGIN (*OF MAIN PROGRAM*)
45320 END (*OF EVERYTHING*).
45330 ()+01*)