1
double complex function qlLi2omprod(v,w,z,iep)
3
include 'qlconstants.f'
4
c expression for dilog(1-(v-i*ep)/(w-i*ep)*(z+iep))
5
C for real v,w and complex z
6
double precision v,w,y,ddilog,rarg,omrarg,iep
7
double complex qllnrat,lnarg,lnomarg,prod,arg,omarg,z,cln,
9
if (abs(dimag(z)) .lt. 1d-15) then
14
if (rarg .le. 1d0) then
15
if (rarg .eq. 0d0 .or. rarg .eq. 1d0) then
18
lnarg=qllnrat(v,w)+cln(z,iep)
19
lnomarg=dcmplx(log(omrarg))
22
qlLi2omprod=dcmplx(pisqo6-ddilog(rarg))-prod
23
elseif (rarg .gt. 1d0) then
25
lnarg=-qllnrat(v,w)-cln(z,iep)
26
lnomarg=dcmplx(log(1d0-rarg))
27
qlLi2omprod=-dcmplx(pisqo6-ddilog(rarg))+lnarg*lnomarg
31
C----case for complex z
34
if (abs(arg) .le. 1d0) then
35
if (abs(arg) .eq. 0d0 .or. abs(arg) .eq. 1d0) then
38
lnarg=qllnrat(v,w)+cln(z,iep)
42
qlLi2omprod=dcmplx(pisqo6)-denspence(arg,1d0)-prod
43
elseif (abs(arg) .gt. 1d0) then
45
lnarg=-qllnrat(v,w)-cln(z,iep)
47
qlLi2omprod=-dcmplx(pisqo6)+denspence(arg,1d0)+lnarg*lnomarg