C 00010001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CTITLESABWRAP -- PERFORM HILBERT TRANSFORM 00020001 CA CA AUTHOR B. S. BOK 00030001 CA DESIGNER B. S. BOK 00040001 CA LANGUAGE FORTRAN 00050001 CA SYSTEM IBM / CRAY 00060001 CA WRITTEN AUGUST, 1990 00070001 C REVISED 12-21-91 JJC - MODIFIED TO MEET EDP STANDARDS. CA 00090001 CA CALL SABWRAP (PHZ, LDIM) CA 00110001 CA IN/OUT PHZ = PHASE VALUES IN RADIAN R4 00120001 CA INPUT LDIM = NUMBER OF ELEMENTS IN ARRAY PHZ I4 00130001 CA CA SABWRAP WRAPS PHASE VALUES IN PHZ (RADIANS) INTO VALUES SO THAT CA AFTER WRAPPING THE ELEMENTS WILL BE (-PI, PI) CA C************************************************************** C * C SUBROUTINES AND FUNCTIONS CALLED FROM THIS ROUTINE * C * C NO SUBROUTINES OR FUNCTIONS CALLED FROM THIS PROGRAM UNIT * C * C************************************************************** SUBROUTINE SABWRAP (PHZ,LDIM) C IMPLICIT INTEGER (A-Z) C DIMENSION PHZ(1) C REAL PHZ REAL PI REAL PI2 C PI = 3.1415926535 PI2 = PI * 2. C C ALL POINTS C DO 180 I = 1, LDIM 100 CONTINUE IF (PHZ(I) .GT. PI) GO TO 140 120 CONTINUE IF (PHZ(I) .GE. (-PI ) ) GO TO 160 PHZ(I) = PHZ(I) + PI2 GO TO 100 140 CONTINUE PHZ(I) = PHZ(I) - PI2 GO TO 100 160 CONTINUE 180 CONTINUE C RETURN END