6 subroutine tm3rtoz(l,k,p,r,ld,wkpr,zkpr)
10 integer,
intent(in) :: l,k,p,r,ld
11 real(8),
intent(in) :: wkpr(-ld:ld)
12 complex(8),
intent(out) :: zkpr(-ld:ld)
17 real(8),
external :: wigner3j,factn,factn2,factr
20 if (mod(g,2) == 0)
then 21 t0=1.d0/wigner3j(k,p,r,0,0,0)
23 t0=sqrt(factr(g+1,g-2*k)/(factn(g-2*p)*factn(g-2*r)))
24 t0=t0*factn2(g-2*k)*factn2(g-2*p)*factn2(g-2*r)/factn2(g)
26 t0=t0/sqrt(dble(2*r+1))
27 t0=t0*sqrt(factn(2*l-k)*factn(2*l+k+1))/factn(2*l)
28 t0=t0*sqrt(factn(2+p))
29 if (mod(k+p,2) /= 0) t0=-t0
31 t0=t0/sqrt(dble(2*k+1))
32 t0=t0/sqrt(dble(2*p+1))
35 t1=t0*(wkpr(t)+wkpr(-t))
36 t2=t0*(wkpr(t)-wkpr(-t))
37 if (mod(t,2) == 0)
then 44 if ((k == r).and.(p == 1))
then 45 if (mod(k,2) == 0)
then
subroutine tm3rtoz(l, k, p, r, ld, wkpr, zkpr)