      subroutine edemit4(POL)
C-----*--*---------*---------*---------*---------*---------*---------*--
C
C BUT : CALCUL DES POLYNOMES DE BASE ET DERIVEES POUR MIT4
C ---
C       Le tableau pol de 96 variables doit etre declare ds matlab et rempli 
c       si l'elem mitc4 est utilise
C-----*--*---------*---------*---------*---------*---------*---------*--
c     pol contient en sequence vp2(nno,npi+npt)   cad    vp2(4,4+4)
c                              vdpq2(2,nno,npi)   cad    vdpq2(2,4,4)
c                              vdtq2(2,nno,npt)   cad    vdtq2(2,4,4)
c
c
      PARAMETER (nno =4, npi = 4, npt =4)
      external pcq12d
      double precision pol(96),xg2,xg2m,pcq12d
      parameter (xg2 =  .5773502691896258)
      parameter (xg2m =  -.5773502691896258)
      double precision xty(npt),yty(npt),xint(npi),yint(npi)
c
c     tying points
c
      data xty /0.,0.,-1.,1/
      data yty /-1.,1.,0.,0./
c
c     integration points en r,s
c
      data xint /xg2m, xg2,xg2, xg2m/
      data yint /xg2m, xg2m,xg2,xg2 /


c
c        remplir les tableaux vdpq2(2,nno,npi),vdtq2(2,nno,npt),
c                             vp2(nno,npi+npt)
c    
         do 1 l = 1,npi
         do 1 n = 1,nno

c           -- > vp2(n,l)     = pcq12d(0,n,xint(l),yint(l))
            pol(nno*(l-1)+n)  = pcq12d(0,n,xint(l),yint(l))

c           -- > vdpq2(1,n,l) = pcq12d(1,n,xint(l),yint(l))
            pol(33+2*nno*(l-1)+2*(n-1)) = pcq12d(1,n,xint(l),yint(l))

c           -- > vdpq2(2,n,l) = pcq12d(2,n,xint(l),yint(l))
            pol(34+2*nno*(l-1)+2*(n-1)) = pcq12d(2,n,xint(l),yint(l))

 1       continue

         do 2 lt = 1,npt
         do 2 n = 1,nno

c           -- >  vp2(n,npi+lt) = pcq12d(0,n,xty(lt),yty(lt))
            pol((npi+lt-1)*nno+n) = pcq12d(0,n,xty(lt),yty(lt))

c           -- >  vdtq2(1,n,lt) = pcq12d(1,n,xty(lt),yty(lt))
            pol(65+2*nno*(lt-1)+2*(n-1)) = pcq12d(1,n,xty(lt),yty(lt))

c           -- >  vdtq2(2,n,lt) = pcq12d(2,n,xty(lt),yty(lt))
            pol(66+2*nno*(lt-1)+2*(n-1)) = pcq12d(2,n,xty(lt),yty(lt))

 2       continue

         end
