6 subroutine wfirsv_sp(tgp,nst,idx,ngridg_,igfft_,ngp,igpig,evecfv,evecsv,ld,wfir)
11 logical,
intent(in) :: tgp
12 integer,
intent(in) :: nst,idx(*),ngridg_(3),igfft_(*)
13 integer,
intent(in) :: ngp(nspnfv),igpig(ngkmax,nspnfv)
14 complex(8),
intent(in) :: evecfv(nmatmax,nstfv,nspnfv),evecsv(nstsv,nstsv)
15 integer,
intent(in) :: ld
16 complex(4),
intent(out) :: wfir(ld,nspinor,nst)
19 integer n,igp,j,k,nthd
23 complex(4) wfgp(ngkmax)
33 if (idx(1) == 0) then; k=j; else; k=idx(j);
end if 45 z1=evecsv((ispn-1)*nstfv+ist,k)
46 if (abs(z1%re)+abs(z1%im) <
epswf) cycle
49 wfir(1:n,ispn,j)=wfir(1:n,ispn,j)+z1*evecfv(1:n,ist,jspn)
53 wfgp(1:n)=wfgp(1:n)+z1*evecfv(1:n,ist,jspn)
58 wfir(1:ld,ispn,j)=0.e0
60 wfir(igfft_(igpig(igp,jspn)),ispn,j)=wfgp(igp)
62 call cfftifc(3,ngridg_,1,wfir(:,ispn,j))
69 wfir(1:n,1,j)=evecfv(1:n,k,1)
73 wfir(igfft_(igpig(igp,1)),1,j)=t0*evecfv(igp,k,1)
75 call cfftifc(3,ngridg_,1,wfir(:,1,j))
subroutine cfftifc(nd, n, sgn, c)
subroutine holdthd(nloop, nthd)
subroutine wfirsv_sp(tgp, nst, idx, ngridg_, igfft_, ngp, igpig, evecfv, evecsv, ld, wfir)
integer, dimension(2) jspnfv