! 26/03/84 correction to CLEARBIT ! !*********************************************************************** !* * !* B I T M A N I P U L A T I O N * !* * !*********************************************************************** !* %EXTERNALROUTINE SETARGBITS(%INTEGER BLIND) %END !* %EXTERNALROUTINE SETCMNBITS(%INTEGER CUR) !* OR common coordinates into bitstrip with address CUR %INTEGERARRAYNAME BS %INTEGERARRAYFORMAT BSFMT(0:100) %INTEGER I BS==ARRAY(CUR,BSFMT) BS(I)=BS(I)!CMNCOORDS(I) %FOR I=0,1,BSWORDS-1 %END;! SETCMNBITS !* %EXTERNALROUTINE SETBIT(%INTEGER STRIPADDR,INDEX) %INTEGER WD,BIT %INTEGERARRAYNAME BS %INTEGERARRAYFORMAT BSFMT(0:100) BS==ARRAY(STRIPADDR,BSFMT) WD=INDEX>>5 BIT=31-INDEX&X'1F' BS(WD)=BS(WD)!(1<>5 BIT=31-INDEX&X'1F' BS(WD)=BS(WD)!(VAL<>5 BIT=31-INDEX&X'1F' BS(WD)=BS(WD)&(X'FFFFFFFF'!!1<>5 BIT=31-INDEX&X'1F' VAL=(BS(WD)>>BIT)&X'1' %END;! GETBIT