CTITLESAFX3DF -- DETERMINE WINDOW OVERLAP SPECIFICATIONS FOR FX3D C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** C*********************************************************************** CABS SAFX3DF - DETERMINE THE WINDOW OVERLAP SPECIFICATIONS FOR FX3D 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 FX3NWS, ADD TO CRAY CA CA PURPOSE OF PROGRAM: CA CA DETERMINE THE WINDOW OVERLAP SPECIFICATIONS CA FOR THE 3-D SPATIAL PREDICTION PROCESS FX3D CA CA CALLING PROCEDURE: CA SUBROUTINE SAFX3DF( M,LG,LF,NW,MU,MW,ID ) CA CA CALLING ARGUMENTS: CA CA CA ARGUMENTS (INPUT) CA CA CA M - NUMBER OF TRACES (IN- OR X -LINE) CA LG - LENGTH OF DESIGN GATE CA LF - LENGTH OF FILTER CA CA CA ARGUMENTS (OUTPUT) CA CA CA NW - NUMBER OF WINDOWS CA MU - MOVE-UP FOR WINDOWS 2,.. (MW-1) CA MW - WINDOW FOR WHICH MOVE-UP CHANGES CA ID - CHANGE IN MOVE-UP FOR WINDOWS MW,.. NW CA (IF MW.LE.NW) CA CEND C*********************************************************************** C SUBROUTINE SAFX3DF( M,LG,LF,NW,MU,MW,ID ) C IMPLICIT INTEGER(A-Z) C C CHECK IF MORE THAN ONE WINDOW IS NECESSARY C MU = 0 ID = 0 C IF( LG.GE.(3*M/4) ) THEN LG = M NW = 1 MW = NW + 1 RETURN ENDIF C C INITIAL TRIAL VALUE FOR MOVE-UP AND NUMBER OF WINDOWS C MU = LG - MIN0( (LG/4),(3*LF) ) NW = (M-LG)/MU + 1 NE = LG + (NW-1)*MU C C DOES THIS CHOCE COME OUT EVEN? C IF( NE.EQ.M ) THEN MW = NW + 1 RETURN ENDIF C C NO - C C C 1. NUMBER OF WINDOWS = NW + 1 C 2. DECREMENT MOVEUP LENGTH IN THE WINDOWS BY (NL/NW) C 3. DECREMENT MOVEUP LENGTH IN WINDOWS MW THRU NW BY 1 C C C NW = NW + 1 NE = NE + MU NL = NE - M MU = MU - NL/(NW-1) ML = NL - (NW-1)*(NL/(NW-1)) MW = NW + 1 - ML ID = -1 C C --------------------------------------------------------------------- C RETURN END