2 *==================================================================
4 FUNCTION RKZF(L1,P1,Q,RMB,L2,P2)
5 * COMPUTES THE SCALAR STRUCTURE
6 * U_BAR(L1,P1)(SLASH(Q)+RMB)U(L2,P2)
7 IMPLICIT DOUBLE PRECISION(A-H,O-Z)
8 COMPLEX RKZF,RKZPR,RKZSF
9 COMPLEX ANSF(-1:1,1:4,1:8,-1:1,1:4)
10 INTEGER DONF(-1:1,1:4,1:8,-1:1,1:4)
11 COMMON/RKZFCO/ANSF,DONF
12 DIMENSION P1(0:4),P2(0:4),Q(0:4),R(0:4)
13 * CHECK ON CORRECT LABEL INPUT
17 IF(IABS(L1).NE.1.OR.IABS(L2).NE.1.OR.
18 . IP1.LT.1.OR.IP1.GT.4 .OR.
19 . IQ.LT.1.OR.IQ.GT.8 .OR.
20 . IP2.LT.1.OR.IP2.GT.4) THEN
21 WRITE(6,*) ' RKZF LABEL ERROR'
22 WRITE(6,*) 'L1=',L1,' IP1=',IP1,' IQ=',IQ,
23 . ' L2=',L2,' IP2=',IP2
26 * CHECK WHETHER THIS ONE HAS BEEN CALCULATED ALREADY
27 IF(DONF(L1,IP1,IQ,L2,IP2).EQ.0) THEN
28 * THIS ONE NOT DONE YET: DO IT AND STORE THE RESULT IN ARRAY 'ANSF'
31 C IF(DABS(A).LT.(1D-10*P2(0)*Q(0))) THEN
32 C...The check above is extended to following.
33 IF(ABS(A).LT.MAX(1D-8,ABS(1D-10*P2(0)*Q(0)))) THEN
34 ANSF(L1,IP1,IQ,L2,IP2)=(0.,0.)
48 ANSF(L1,IP1,IQ,L2,IP2)=C*RKZPR(L1,P1,R)*RKZPR(-L1,R,P2)
50 ELSEIF(L1.EQ.-L2) THEN
51 ANSF(L1,IP1,IQ,L2,IP2)=RMB*RKZSF(L1,P1,L2,P2)
53 WRITE(6,*) ' ERROR IN RKZF: L1=',L1,' L2=',L2
56 RKZF=ANSF(L1,IP1,IQ,L2,IP2)
57 DONF(L1,IP1,IQ,L2,IP2)=1
59 RKZF=ANSF(L1,IP1,IQ,L2,IP2)