
C THIS ROUTINE RETURNS THE TOTAL SIZE OF A SYMMETRY PACKED
C DISTRIBUTION (FOR ALL IRREPS).  ITYPL IS THE SYMMETRY TYPE
C OF THE DISTRIBUTION MEMBERS, ITYPR IS THE SYMMETRY TYPE OF
C THE DISTRIBUTIONS.  NOTE THAT CHANGING THE MEANING OF THESE
C VARIABLES MAKES NO DIFFERENCE.

      INTEGER FUNCTION ISYMSZ(ITYPL,ITYPR)
      IMPLICIT INTEGER (A-Z)
      COMMON /SYMINF/ NSTART,NIRREP,IRREPA(255),IRREPB(255),
     &                DIRPRD(8,8)
      COMMON /SYMPOP/ IRPDPD(8,22),ISYTYP(2,500),NTOT(18)
#ifdef _ASSERT
      if ((ITYPL.lt.1).or.(22.lt.ITYPL).or.
     &    (ITYPR.lt.1).or.(22.lt.ITYPR)    ) then
         print *, '@ISYMSZ: Assertion failed.'
         print *, '   ITYPL = ',ITYPL
         print *, '   ITYPR = ',ITYPR
         call errex
      end if
#endif /* _ASSERT */
      ISYMSZ = 0
      DO IRREP = 1, NIRREP
         ISYMSZ = ISYMSZ + ( IRPDPD(IRREP,ITYPL)*IRPDPD(IRREP,ITYPR) )
      END DO
      RETURN
      END
