C     ****************
      SUBROUTINE HYPPL(
C     ****************
     >                 NXE,NXYE,NXYZE,
     >                 GL,LL,NVL,ID1,ID2,ID3,ID4,IU1,IU2,IU3,IU4 )
C
C
C     GENERATION OF INDEX LISTS FOR GATHERING LINK VARAIABLES OF
C     EVEN OR ODD LATTICE POINTS
C
C
      INTEGER GL(NVL,2),LL(2)
C
C
C     DEFINITION OF STATEMENT FUNCTION LPA (LATTICE POINT ADDRESS):
C
C
      LPA(IX,IY,IZ,IT) = IX + ( IY - 1 ) * NXE + ( IZ - 1 ) * NXYE  +
     >                                           ( IT - 1 ) * NXYZE
C
C
      LPE = 0
      LPO = 0
C
      DO 10 L = ID4,IU4
      DO 10 K = ID3,IU3
      DO 10 J = ID2,IU2
      DO 10 I = ID1,IU1
C
      IS = I + J + K + L
      IC = IS / 2
      IC = IC * 2
C
      IF( IS .EQ. IC ) THEN
          LPE = LPE + 1
          GL(LPE,1) = LPA(I,J,K,L)
      ELSE
          LPO = LPO + 1
          GL(LPO,2) = LPA(I,J,K,L)
      ENDIF
C
   10 CONTINUE
C
      LL(1) = LPE
      LL(2) = LPO
C
C
      RETURN
      END
