      SUBROUTINE REVI( X, NX )

C     Reverse the INTEGER elements in vector X

      INTEGER X( * )

      DO 1000 I = 1, NX / 2
         TEMP            = X( I )
         X( I )          = X( NX - I + 1 )
         X( NX - I + 1 ) = TEMP
 1000 CONTINUE

      RETURN
      END
C**********************************************************************C
      SUBROUTINE REVR( X, NX )

C     Reverse the REAL elements in vector X

      REAL X( * )

      DO 1000 I = 1, NX / 2
         TEMP            = X( I )
         X( I )          = X( NX - I + 1 )
         X( NX - I + 1 ) = TEMP
 1000 CONTINUE

      RETURN
      END
C**********************************************************************C
      SUBROUTINE REVC( X, NX )

C     Reverse the COMPLEX elements in vector X

      COMPLEX X( * )

      DO 1000 I = 1, NX / 2
         TEMP            = X( I )
         X( I )          = X( NX - I + 1 )
         X( NX - I + 1 ) = TEMP
 1000 CONTINUE

      RETURN
      END
