25
25
INTEGER,DIMENSION(0:NLOOPLINE)::indices0,indices00
26
26
COMPLEX(KIND(1d0)),DIMENSION(1:4)::sumf
27
27
REAL(KIND(1d0))::factor,factor0
28
INTEGER,DIMENSION(1,1)::xitemp1
29
INTEGER,DIMENSION(6,2)::xitemp2
30
INTEGER,DIMENSION(21,3)::xitemp3
31
INTEGER,DIMENSION(56,4)::xitemp4
32
INTEGER,DIMENSION(126,5)::xitemp5
33
REAL(KIND(1d0)),DIMENSION(126)::factor_xi
30
INTEGER,DIMENSION(:,:),ALLOCATABLE::xitempi
32
TYPE(xitemptype),DIMENSION(MAXNLOOP_IREGI-1)::xitemp
33
REAL(KIND(1d0)),DIMENSION(:),ALLOCATABLE::factor_xi
36
SAVE init,xitemp,factor_xi
35
37
TYPE(cibppave_node),POINTER::item
36
38
pave(1:4)=DCMPLX(0d0)
37
39
IF(.NOT.STABLE_IREGI)RETURN
85
101
SELECT CASE(NLOOPLINE-1)
88
CALL all_integers(NLOOPLINE-1,ntot,i,xitemp1(1:ntot,1:1),&
91
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
92
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
94
sumf(1:4)=sumf(1:4)+factor_xi(j)*&
95
comp_pavefun_reduce(NLOOPLINE,indices00,PCL1,M2L)
98
ntot=ntot_xiarray(i,2)
99
CALL all_integers(NLOOPLINE-1,ntot,i,&
100
xitemp2(1:ntot,1:2),factor_xi(1:ntot))
102
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
103
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
105
sumf(1:4)=sumf(1:4)+factor_xi(j)*&
106
comp_pavefun_reduce(NLOOPLINE,indices00,PCL1,M2L)
109
ntot=ntot_xiarray(i,3)
110
CALL all_integers(NLOOPLINE-1,ntot,i,&
111
xitemp3(1:ntot,1:3),factor_xi(1:ntot))
113
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
114
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
116
sumf(1:4)=sumf(1:4)+factor_xi(j)*&
117
comp_pavefun_reduce(NLOOPLINE,indices00,PCL1,M2L)
120
ntot=ntot_xiarray(i,4)
121
CALL all_integers(NLOOPLINE-1,ntot,i,&
122
xitemp4(1:ntot,1:4),factor_xi(1:ntot))
124
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
125
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
127
sumf(1:4)=sumf(1:4)+factor_xi(j)*&
128
comp_pavefun_reduce(NLOOPLINE,indices00,PCL1,M2L)
131
ntot=ntot_xiarray(i,5)
132
CALL all_integers(NLOOPLINE-1,ntot,i,&
133
xitemp5(1:ntot,1:5),factor_xi(1:ntot))
135
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
136
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
104
CALL all_integers(NLOOPLINE-1,ntot,i,xitemp(1)%xitempi(1:ntot,1:1),&
107
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
108
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
109
+xitemp(1)%xitempi(j,1:1)
110
sumf(1:4)=sumf(1:4)+factor_xi(j)*&
111
comp_pavefun_reduce(NLOOPLINE,indices00,PCL1,M2L)
114
ntot=ntot_xiarray(i,NLOOPLINE-1)
115
CALL all_integers(NLOOPLINE-1,ntot,i,&
116
xitemp(NLOOPLINE-1)%xitempi(1:ntot,1:NLOOPLINE-1),&
119
indices00(0:NLOOPLINE)=indices0(0:NLOOPLINE)
120
indices00(2:NLOOPLINE)=indices00(2:NLOOPLINE)&
121
+xitemp(NLOOPLINE-1)%xitempi(j,1:NLOOPLINE-1)
138
122
sumf(1:4)=sumf(1:4)+factor_xi(j)*&
139
123
comp_pavefun_reduce(NLOOPLINE,indices00,PCL1,M2L)
1413
ELSEIF(ii+jj+kk+ll.LT.6)THEN
1430
1414
! Generalization of Eq.(6.18), (6.19), (6.20), (6.21)
1431
1415
CALL CXYZMATRICES(NLOOPLINE,PCL,M2L,&
1432
1416
XMATRIX,YMATRIX,ZMATRIX,detY,detZ)
1433
1417
IF(ABS(detY).GE.EPS)THEN
1419
IF(ss.GT.MAXNLOOP_IREGI*MAXINDICES_IREGI)THEN
1436
1420
WRITE(*,*)"ERROR: out of range of llarray in comp_pavefun_reduce"