FTN4 FUNCTION BITSR(IBUF,ISTBT,IENBT,NBIT),. 92080-1X051 REV.2026 .800515 C C C ******************************************************************** C * * C * NAME: BITSR BITS SEARCH, STOP WHEN END OF TABLE IS FOUND * C * SOURCE: &BITSR 92080-18051 * C * BINARY: %BITSR ----NONE--- PART OF %GPLB4 92080-16001 * C * * C * PGMR: FRANCOIS GAULLIER * C * * C ******************************************************************** C C C ************************************************************** C * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS * C * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * C * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * C * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * C ************************************************************** C C C C THIS FUNCTION SEARCH INTO A BITS STRING FOR A GIVEN NUMBER C OF SUCCESIVE BITS VALUE EQUAL TO ZERO. C BITS ARE NUMBERED FROM 1 TO N, BIT 1 BEING THE BIT15 OF THE C FIRST WORD OF THE BUFFER, BIT 2 THE BIT14 OF 1ST WORD, BIT 16 C THE BIT0 OF 1ST WORD, BIT17 THE BIT15 OF 2ND WORD .. AND SO ON. C C ABREG = BITSR ( IBUF, ISTBIT, LSTBIT, NBIT ) C WHERE: C IBUF IS THE BUFFER C ISTBIT STARTING BIT BEING CHECKED C LSTBIT LAST BIT BEING CHECKED C NBIT NUMBER OF CONSECUTIVE BIT THAT C HAS TO BE CLEARED. C RETURN: C OK NOT NOW NEVER C C A REG. BIT # -1 -1 C B REG. 0 0 -1 C C C NOTE: C ------- C THIS SUBROUTINE USES THE SUBROUTINE: BITSH C C DIMENSION IBUF(1),IREG(2) INTEGER AREG,BREG EQUIVALENCE (ABREG,IREG(1),AREG),(IREG(2),BREG) C-----PRESET ERROR RETURN VALUE AREG=-1 BREG=-1 C-----CHECK IF ARGUMENT ARE OK IF ( NBIT .LE. 0 ) GOTO 900 IF ( ISTBT+NBIT-1 .GT. IENBT ) GOTO 900 C-----SEARCH IN THE TABLE ISTBIT=ISTBT 100 ABREG=BITSH(IBUF,ISTBIT,IENBT,NBIT) IF ( BREG .EQ. -1 ) GOTO 200 IF ( AREG .EQ. -1 ) GOTO 100 200 BREG=0 C-----RETURN THE VALUE 900 BITSR=ABREG RETURN END END$