      subroutine equis
      use module
      !
      ! recherche des OL equivalentes par symetrie
      ! au moyen de leurs labels
      !
      ! definition : relation d'equivalence d'orbitales = 
      ! orbitales qui se correspondent par sym
      ! --> definition de classes d'quivalence d'orbitales
      !
      ! definition de iclas : iclas(orbitale)=classe de l'orbitale
      ! ncl=nombre de classes. iclas agit sur les OLS
      !!!!ATTENTION !
      ! 2 occ (resp 2 virt) ne doivent pas avoir le meme nom a
      ! l'interieur d'une meme symetrie (pas d'orbitales non
      ! equivalentes de meme nom) !
      !
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      !integer,allocatable,dimension(:) :: jrot
      dimension irot(8)
      yw=.false.
      if(yw)print*,'noc',noc
      !
      ! boucle de 1 a 2 pour les occ, puis les virt
      !
      icl=0
      ideb=1
      ifin=ninac
      iclas=0
      iclasloc=0
      do i=1,2
         do k=ideb,ifin
            if(iclasloc(k)/=0) cycle
            ydeja=.false.
            do l=ideb,k-1
               if(tipo_l(k).eq.tipo_l(l)) then
                  ydeja=.true.
                  iclasloc(k)=iclasloc(l)
                  exit
               endif
            enddo
            if(.not.ydeja) then
               icl=icl+1
               !print*,'k',k,size(iclas)
               iclasloc(k)=icl
            endif
         enddo
         ideb=ifin+1
         ifin=norb
      enddo
      ideb=1
      ifin=noc
      do icas=1,2
         do k=ideb,ifin
            do l=ideb,ifin
               if(tipo_int(k)==tipo_l(l)) then
                  iclas(k)=iclasloc(l)
                  exit
               endif
            enddo
         enddo
         ideb=ifin+1
         ifin=norb
      enddo
      do k=1,noac
         kk=numac(k)
         do l=1,norb
            if(tipo_int(kk)==tipo_l(l)) then
               iclas(kk)=iclasloc(l)
               exit
            endif
         enddo
      enddo 
      if(yw) then
         print*,'dans equis iclas'
         print'(10i4)',iclas(1:norb)
         do k=1,norb
            print'(2a,2i5,a,a,2i5)','iclas,iclasloc ',
     *      tipo_int(k),k,iclas(k),'  |  ',tipo_l(k),k,iclasloc(k)
         enddo
      endif
      ncl=icl
      return
      end
