CTITLESAFF3DG - DETERMINE TRAPEZOIDAL WEIGHTING FACTOR C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CABS SAFF3DG - DETERMINE TRAPEZOIDAL WEIGHTING FACTOR C CREAL FUNCTION SAFF3DG C C REAL FUNCTION SAFF3DG( W,W1,W2,W3,W4 ) C C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991. 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 FORTRAN 77 CA SYSTEM IBM/CRAY CA WRITTEN 10-03-86 CA CA PURPOSE OF PROGRAM: CA CA DETERMINE THE TRAPEZOIDAL WEIGHTING FACTOR APPROPRIATE CA FOR W WHEN W1,W2,W3, AND W4 DEFINE A TRAPEZOID CA CA IF W.LT.W1 .OR. W.GT.W4, SAFF3DG = 0 CA CA IF W.GT.W2 .AND. W.LT.W3, SAFF3DG = 1. CA CA W.GT.W1 .AND. W.LT.W2 CA IF .OR. LINEARLY INTERPOLATE CA W.GT.W3 .AND. W.LT.W4 CA CA W1 < W2 < OR = W3 < W4 CA CA ARGUMENTS: CA CA CA W1,W2,W3,W4 INPUT REAL THE FOUR POINTS WHICH DEFINE A CA TRAPEZOID. CA CA W INPUT REAL THE POINT FOR WHICH WEIGHTING IS TO BE CA DETERMINED. CA ARRAY BY THE ROUTINE FFT991 WHICH CA PERFORMS THE Z-DOMAIN FFT IN PARALLEL CA CA EJECT CAEND C*********************************************************************** C C LOCAL VARIABLES C C D - EITHER THE DIFFERENCE W-W1 OR W-W2 C DW - EITHER THE DIFFERENCE W2-W1 OR W4-W3 C C*********************************************************************** C REAL FUNCTION SAFF3DG( W,W1,W2,W3,W4 ) C IMPLICIT INTEGER (A-Z) C REAL W,W1,W2,W3,W4,DW,D C SAFF3DG = 0. IF (W .LE. W1) RETURN IF (W .GE. W4) RETURN C SAFF3DG = 1. IF (W .LT. W2) GO TO 100 IF (W .GT. W3) GO TO 120 C RETURN C 100 CONTINUE DW = W2 - W1 D = W - W1 GO TO 140 C 120 CONTINUE DW = W4 - W3 D = W4 - W C 140 CONTINUE SAFF3DG = D / DW C RETURN END