57300 #include "rundecs.h" 57310 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *) 57320 (**) 57330 (**) 57340 PROCEDURE GARBAGE (ANOBJECT: OBJECTP); EXTERN ; 57350 (**) 57360 (**) 57370 FUNCTION WIDENM(COUNT: INTEGER): OBJECTP; 57380 VAR NEWELS, NEWMULT: OBJECTP; 57390 BEGIN 57400 ENEW(NEWMULT, MULTCONST+SZPDS); 57410 WITH NEWMULT^ DO 57420 BEGIN 57430 (*-02() FIRSTWORD := SORTSHIFT * ORD(MULT); ()-02*) 57440 (*+02() PCOUNT:=0; SORT:=MULT; ()+02*) 57450 (*+01() SECONDWORD := 0; ()+01*) 57460 SIZE := 1; 57470 WITH DESCVEC[0] DO 57480 BEGIN LI := 1; UI := COUNT; DI := SZINT END; 57490 ROWS := 0; LBADJ := SZINT-ELSCONST; PCOUNT := 1; 57500 MDBLOCK := ASPTR(SZINT); 57510 ENEW(NEWELS, ELSCONST+COUNT*SZINT); 57520 WITH NEWELS^ DO 57530 BEGIN 57540 (*-02() FIRSTWORD := SORTSHIFT * ORD(IELS); ()-02*) 57550 (*+02() PCOUNT:=0; SORT:=IELS; ()+02*) 57560 OSCOPE := 0; 57570 IHEAD := NIL; 57580 DBLOCK := ASPTR(SZINT); D0 := COUNT*SZINT; CCOUNT := 1; PCOUNT := 1; 57590 END; 57600 PVALUE := NEWELS; IHEAD := NIL; FPTR := NIL; BPTR := NIL 57610 END; 57620 WIDENM := NEWMULT; 57630 END; 57640 (**) 57650 (**) 57660 FUNCTION WIDBITS(BITS: INTEGER): OBJECTP; 57670 (*PWIDEN+5*) 57680 VAR NEWMULT: OBJECTP; 57690 PTR: UNDRESSP; 57700 BEGIN 57710 NEWMULT := WIDENM(BITSWIDTH); 57720 WITH NEWMULT^ DO 57730 BEGIN 57740 PTR := INCPTR(PVALUE, ELSCONST); 57750 WHILE ORD(PTR)