~maddevelopers/mg5amcnlo/2.9.4

« back to all changes in this revision

Viewing changes to vendor/CutTools/src/qcdloop/qlLi2omx2.f

pass to v2.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      double complex function qlLi2omx2(v,w,x,y)
 
2
      implicit none
 
3
      include 'qlconstants.f'
 
4
c     expression for dilog(1-(v-i*ep)*(w-i*ep)/(x-i*ep)/(y-i*ep)) 
 
5
C     for real v,w,x and y
 
6
      double precision v,w,x,y,omarg,arg,ddilog
 
7
      double complex qllnrat,lnarg,lnomarg,prod
 
8
      arg=(v*w)/(x*y)
 
9
      omarg=1d0-arg
 
10
      if (arg .le. 1d0) then
 
11
         if (arg .eq. 0d0 .or. arg .eq. 1d0) then 
 
12
            prod=0d0
 
13
         else
 
14
            lnarg=qllnrat(v,x)+qllnrat(w,y)
 
15
            lnomarg=dcmplx(log(omarg))
 
16
            prod=lnarg*lnomarg
 
17
         endif
 
18
         qlLi2omx2=dcmplx(pisqo6-ddilog(arg))-prod
 
19
      elseif (arg .gt. 1d0) then
 
20
         arg=(x*y)/(v*w)
 
21
         lnarg=-qllnrat(v,x)-qllnrat(w,y)
 
22
         lnomarg=dcmplx(log(1d0-arg))
 
23
         qlLi2omx2=-dcmplx(pisqo6-ddilog(arg))+lnarg*lnomarg
 
24
     .   -0.5d0*lnarg**2
 
25
      endif
 
26
      return 
 
27
      end