CTITLESAFX3DI -- FIND LIVE TRACE WHICH CORRESPONDS TO SEQUENTIAL NUMBER C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** C*********************************************************************** CABS SAFX3DI - FIND LIVE TRACE WHICH CORRESPONDS TO SEQUENTIAL NUMBER C C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1989. C C ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, C REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE C PRIOR CONSENT OF ATLANTIC RICHFIELD COMPANY. C C CA DESIGNER D CORRIGAN CA AUTHOR D CORRIGAN CA LANGUAGE VS FORTRAN CA SYSTEM IBM/CRAY CA WRITTEN 12-13-88 CA CA REVISED 10-19-90 CLJ RENAME FROM FX3WST, ADD TO CRAY CA CA PURPOSE OF PROGRAM: CA CA GIVEN THE INFORMATION ABOUT WHICH CA TRACES ARE LIVE FOR A GIVEN LINE IN CA A LINKED LIST ARRAY, DETERMINE WHICH LIVE CA TRACE CORRESPONDS TO SEQUENTIAL TRACE JTRC CA CA CALLING PROCEDURE: CA SUBROUTINE SAFX3DI( C,JTRC,MTRC ) CA CA CALLING ARGUMENTS: CA CA ARGUMENTS (INPUT) CA CA C - LINKED LIST: CA C(1) = LENGTH OF BUFFER CA (LBUF = 3 + 2*NZONE) CA C(2) = NUMBER OF LIVE TRACES (NTRC) CA C(3) = NUMBER OF ZONES OF SEQUENTIAL CA LIVE TRACES (NZONE) CA C(4) = FIRST LIVE TRACE IN ZONE 1 CA C(5) = LAST LIVE TRACE IN ZONE 1 CA . CA . CA . CA C(LBUF) = LAST LIVE TRACE IN ZONE NZONE CA CA JTRC - SEQUENTIAL TRACE CA CA ARGUMENTS (OUTPUT) CA CA MTRC - LIVE TRACE CORRESPONDING TO JTRC CA CA CEND C*********************************************************************** C SUBROUTINE SAFX3DI( C,JTRC,MTRC ) C C --------------------------------------------------------------------- C IMPLICIT INTEGER(A-Z) C REAL C(1) C C FETCH NUMBER OF ZONES WITH LIVE TRACES C I3 = 3 NZONE = C(I3) C C ---------------------------------------------------------------------- C C SEE IF JTRC BELONGS TO FIRST ZONE C IC = 4 NZA = C(IC+1) - C(IC) + 1 IF( NZONE.EQ.1 .OR. JTRC.LE.NZA ) THEN MTRC = C(IC) + JTRC - 1 RETURN ENDIF C C MUST SCAN OTHER ZONES C IC = IC + 2 C DO 100 IZ = 2,NZONE NZB = NZA + C(IC+1) - C(IC) + 1 IF( JTRC.LE.NZB ) THEN MTRC = C(IC) + JTRC - NZA - 1 RETURN ENDIF C NZA = NZB 100 IC = IC + 2 C C ZONE NOT FOUND C MTRC = 0 C C --------------------------------------------------------------------- C RETURN END