      subroutine ang12(x,y,z,weight)

c  this subroutine written by alain st-amant of the department of
c  pharmaceutical chemistry, university of california, san francisco.
c  all rights reserved.  this is part of the DeFT project.

      implicit real*8(a-h,o-z)

      dimension xunit(12),yunit(12),zunit(12)

      dimension x(*),y(*),z(*),weight(*)

      data xunit/  0.0d0,  0.0d0,  0.0d0,  0.0d0,  1.0d0, -1.0d0,
     &             1.0d0, -1.0d0,  1.0d0, -1.0d0,  1.0d0, -1.0d0/

      data yunit/  1.0d0, -1.0d0,  1.0d0, -1.0d0,  0.0d0,  0.0d0,
     &             0.0d0,  0.0d0,  1.0d0,  1.0d0, -1.0d0, -1.0d0/

      data zunit/  1.0d0,  1.0d0, -1.0d0, -1.0d0,  1.0d0,  1.0d0,
     &            -1.0d0, -1.0d0,  0.0d0,  0.0d0,  0.0d0,  0.0d0/

      data wght1/0.08333333333333d0/

      data one,two/1.0d0,2.0d0/

      rsqrt2=one/sqrt(two)

      do 1001 i=1,12
 1001 weight(i)=wght1

      do 1002 i=1,12
      x(i)=rsqrt2*xunit(i)
      y(i)=rsqrt2*yunit(i)
 1002 z(i)=rsqrt2*zunit(i)

      return
      end
