~madteam/mg5amcnlo/series2.0

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%polynomial.f

  • Committer: olivier Mattelaer
  • Date: 2016-05-12 11:00:18 UTC
  • mfrom: (262.1.150 2.3.4)
  • Revision ID: olivier.mattelaer@uclouvain.be-20160512110018-sevb79f0wm4g8mpp
pass to 2.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      MODULE MG5_1_POLYNOMIAL_CONSTANTS
 
2
      IMPLICIT NONE
 
3
      INCLUDE 'coef_specs.inc'
 
4
      INCLUDE 'loop_max_coefs.inc'
 
5
 
 
6
C     Map associating a rank to each coefficient position
 
7
      INTEGER COEFTORANK_MAP(0:LOOPMAXCOEFS-1)
 
8
      DATA COEFTORANK_MAP(0:0)/1*0/
 
9
      DATA COEFTORANK_MAP(1:4)/4*1/
 
10
      DATA COEFTORANK_MAP(5:14)/10*2/
 
11
 
 
12
C     Map defining the number of coefficients for a symmetric tensor
 
13
C      of a given rank
 
14
      INTEGER NCOEF_R(0:2)
 
15
      DATA NCOEF_R/1,5,15/
 
16
 
 
17
C     Map defining the coef position resulting from the multiplication
 
18
C      of two lower rank coefs.
 
19
      INTEGER COMB_COEF_POS(0:LOOPMAXCOEFS-1,0:4)
 
20
      DATA COMB_COEF_POS(  0,  0:  4) /  0,  1,  2,  3,  4/
 
21
      DATA COMB_COEF_POS(  1,  0:  4) /  1,  5,  6,  8, 11/
 
22
      DATA COMB_COEF_POS(  2,  0:  4) /  2,  6,  7,  9, 12/
 
23
      DATA COMB_COEF_POS(  3,  0:  4) /  3,  8,  9, 10, 13/
 
24
      DATA COMB_COEF_POS(  4,  0:  4) /  4, 11, 12, 13, 14/
 
25
      DATA COMB_COEF_POS(  5,  0:  4) /  5, 15, 16, 19, 25/
 
26
      DATA COMB_COEF_POS(  6,  0:  4) /  6, 16, 17, 20, 26/
 
27
      DATA COMB_COEF_POS(  7,  0:  4) /  7, 17, 18, 21, 27/
 
28
      DATA COMB_COEF_POS(  8,  0:  4) /  8, 19, 20, 22, 28/
 
29
      DATA COMB_COEF_POS(  9,  0:  4) /  9, 20, 21, 23, 29/
 
30
      DATA COMB_COEF_POS( 10,  0:  4) / 10, 22, 23, 24, 30/
 
31
      DATA COMB_COEF_POS( 11,  0:  4) / 11, 25, 26, 28, 31/
 
32
      DATA COMB_COEF_POS( 12,  0:  4) / 12, 26, 27, 29, 32/
 
33
      DATA COMB_COEF_POS( 13,  0:  4) / 13, 28, 29, 30, 33/
 
34
      DATA COMB_COEF_POS( 14,  0:  4) / 14, 31, 32, 33, 34/
 
35
 
 
36
      END MODULE MG5_1_POLYNOMIAL_CONSTANTS
 
37
 
 
38
 
1
39
C     THE SUBROUTINE TO CREATE THE COEFFICIENTS FROM LAST LOOP WF AND 
2
40
C     MULTIPLY BY THE BORN
3
41
 
4
42
      SUBROUTINE MG5_1_CREATE_LOOP_COEFS(LOOP_WF,RANK,LCUT_SIZE
5
43
     $ ,LOOP_GROUP_NUMBER,SYMFACT,MULTIPLIER,COLOR_ID,HELCONFIG)
 
44
      USE MG5_1_POLYNOMIAL_CONSTANTS
6
45
      IMPLICIT NONE
7
46
C     
8
47
C     CONSTANTS 
15
54
      PARAMETER (IMAG1=(ZERO,ONE))
16
55
      COMPLEX*16 CMPLX_ZERO
17
56
      PARAMETER (CMPLX_ZERO=(ZERO,ZERO))
18
 
      INTEGER MAXLWFSIZE
19
 
      PARAMETER (MAXLWFSIZE=4)
20
 
      INTEGER LOOPMAXCOEFS
21
 
      PARAMETER (LOOPMAXCOEFS=15)
22
57
      INTEGER    NCOLORROWS
23
58
      PARAMETER (NCOLORROWS=76)
24
59
      INTEGER    NLOOPGROUPS
44
79
C     FUNCTIONS
45
80
C     
46
81
      INTEGER MG5_1_ML5SOINDEX_FOR_BORN_AMP, MG5_1_ML5SOINDEX_FOR_LOOP_
47
 
     $ AMP, MG5_1_ML5SQSOINDEX
 
82
     $AMP, MG5_1_ML5SQSOINDEX
48
83
C     
49
84
C     GLOBAL VARIABLES
50
85
C     
79
114
     $   ,KIND=8)
80
115
        IF(CF_D(COLOR_ID,I).LT.0) CFTOT=CFTOT*IMAG1
81
116
        CONST(MG5_1_ML5SOINDEX_FOR_BORN_AMP(I))=CONST(MG5_1_ML5SOINDEX_
82
 
     $   FOR_BORN_AMP(I))+CFTOT*CONJG(AMP(I))
 
117
     $FOR_BORN_AMP(I))+CFTOT*CONJG(AMP(I))
83
118
      ENDDO
84
119
 
85
120
      DO I=1,NAMPSO
86
121
        IF (CONST(I).NE.CMPLX_ZERO) THEN
87
122
          CONST(I)=(CONST(I)*MULTIPLIER)/SYMFACT
88
 
          IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.
89
 
     $     -1) THEN
 
123
          IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.-1)
 
124
     $      THEN
90
125
            CONST(I)=CONST(I)*GOODHEL(HELCONFIG)
91
126
          ENDIF
92
127
          CALL MG5_1_MERGE_WL(LOOP_WF,RANK,LCUT_SIZE,CONST(I)
93
128
     $     ,LOOPCOEFS(0,MG5_1_ML5SQSOINDEX(I,MG5_1_ML5SOINDEX_FOR_LOOP_
94
 
     $     AMP(COLOR_ID)),LOOP_GROUP_NUMBER))
95
 
        ENDIF
96
 
      ENDDO
97
 
 
98
 
      END
 
129
     $AMP(COLOR_ID)),LOOP_GROUP_NUMBER))
 
130
        ENDIF
 
131
      ENDDO
 
132
 
 
133
      END
 
134
 
 
135
      SUBROUTINE MG5_1_INVERT_MOMENTA_IN_POLYNOMIAL(NCOEFS,POLYNOMIAL)
 
136
C     Just a handy subroutine to modify the coefficients for the
 
137
C     tranformation q_loop -> -q_loop
 
138
C     It is only used for the NINJA interface
 
139
      USE MG5_1_POLYNOMIAL_CONSTANTS
 
140
      IMPLICIT NONE
 
141
 
 
142
      INTEGER I, NCOEFS
 
143
 
 
144
      COMPLEX*16 POLYNOMIAL(0:NCOEFS-1)
 
145
 
 
146
      DO I=0,NCOEFS-1
 
147
        IF (MOD(COEFTORANK_MAP(I),2).EQ.1) THEN
 
148
          POLYNOMIAL(I)=-POLYNOMIAL(I)
 
149
        ENDIF
 
150
      ENDDO
 
151
 
 
152
      END
 
153
 
 
154
C     Now the routines to update the wavefunctions
 
155
 
99
156
 
100
157
 
101
158
C     THE SUBROUTINE TO CREATE THE COEFFICIENTS FROM LAST LOOP WF AND 
103
160
 
104
161
      SUBROUTINE MP_MG5_1_CREATE_LOOP_COEFS(LOOP_WF,RANK,LCUT_SIZE
105
162
     $ ,LOOP_GROUP_NUMBER,SYMFACT,MULTIPLIER,COLOR_ID,HELCONFIG)
 
163
      USE MG5_1_POLYNOMIAL_CONSTANTS
106
164
      IMPLICIT NONE
107
165
C     
108
166
C     CONSTANTS 
115
173
      PARAMETER (IMAG1=(ZERO,ONE))
116
174
      COMPLEX*32 CMPLX_ZERO
117
175
      PARAMETER (CMPLX_ZERO=(ZERO,ZERO))
118
 
      INTEGER MAXLWFSIZE
119
 
      PARAMETER (MAXLWFSIZE=4)
120
 
      INTEGER LOOPMAXCOEFS
121
 
      PARAMETER (LOOPMAXCOEFS=15)
122
176
      INTEGER    NCOLORROWS
123
177
      PARAMETER (NCOLORROWS=76)
124
178
      INTEGER    NLOOPGROUPS
144
198
C     FUNCTIONS
145
199
C     
146
200
      INTEGER MG5_1_ML5SOINDEX_FOR_BORN_AMP, MG5_1_ML5SOINDEX_FOR_LOOP_
147
 
     $ AMP, MG5_1_ML5SQSOINDEX
 
201
     $AMP, MG5_1_ML5SQSOINDEX
148
202
C     
149
203
C     GLOBAL VARIABLES
150
204
C     
179
233
     $   ,KIND=16)
180
234
        IF(CF_D(COLOR_ID,I).LT.0) CFTOT=CFTOT*IMAG1
181
235
        CONST(MG5_1_ML5SOINDEX_FOR_BORN_AMP(I))=CONST(MG5_1_ML5SOINDEX_
182
 
     $   FOR_BORN_AMP(I))+CFTOT*CONJG(AMP(I))
 
236
     $FOR_BORN_AMP(I))+CFTOT*CONJG(AMP(I))
183
237
      ENDDO
184
238
 
185
239
      DO I=1,NAMPSO
186
240
        IF (CONST(I).NE.CMPLX_ZERO) THEN
187
241
          CONST(I)=(CONST(I)*MULTIPLIER)/SYMFACT
188
 
          IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.
189
 
     $     -1) THEN
 
242
          IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.-1)
 
243
     $      THEN
190
244
            CONST(I)=CONST(I)*GOODHEL(HELCONFIG)
191
245
          ENDIF
192
246
          CALL MP_MG5_1_MERGE_WL(LOOP_WF,RANK,LCUT_SIZE,CONST(I)
193
247
     $     ,LOOPCOEFS(0,MG5_1_ML5SQSOINDEX(I,MG5_1_ML5SOINDEX_FOR_LOOP_
194
 
     $     AMP(COLOR_ID)),LOOP_GROUP_NUMBER))
195
 
        ENDIF
196
 
      ENDDO
197
 
 
198
 
      END
 
248
     $AMP(COLOR_ID)),LOOP_GROUP_NUMBER))
 
249
        ENDIF
 
250
      ENDDO
 
251
 
 
252
      END
 
253
 
 
254
      SUBROUTINE MP_MG5_1_INVERT_MOMENTA_IN_POLYNOMIAL(NCOEFS
 
255
     $ ,POLYNOMIAL)
 
256
C     Just a handy subroutine to modify the coefficients for the
 
257
C     tranformation q_loop -> -q_loop
 
258
C     It is only used for the NINJA interface
 
259
      USE MG5_1_POLYNOMIAL_CONSTANTS
 
260
      IMPLICIT NONE
 
261
 
 
262
      INTEGER I, NCOEFS
 
263
 
 
264
      COMPLEX*32 POLYNOMIAL(0:NCOEFS-1)
 
265
 
 
266
      DO I=0,NCOEFS-1
 
267
        IF (MOD(COEFTORANK_MAP(I),2).EQ.1) THEN
 
268
          POLYNOMIAL(I)=-POLYNOMIAL(I)
 
269
        ENDIF
 
270
      ENDDO
 
271
 
 
272
      END
 
273
 
 
274
C     Now the routines to update the wavefunctions
 
275
 
199
276
 
200
277
 
201
278
      SUBROUTINE MG5_1_EVAL_POLY(C,R,Q,OUT)
202
 
      INCLUDE 'coef_specs.inc'
203
 
      COMPLEX*16 C(0:LOOP_MAXCOEFS-1)
 
279
      USE MG5_1_POLYNOMIAL_CONSTANTS
 
280
      COMPLEX*16 C(0:LOOPMAXCOEFS-1)
204
281
      INTEGER R
205
282
      COMPLEX*16 Q(0:3)
206
283
      COMPLEX*16 OUT
211
288
      ENDIF
212
289
      IF (R.GE.2) THEN
213
290
        OUT=OUT+C(5)*Q(0)*Q(0)+C(6)*Q(0)*Q(1)+C(7)*Q(1)*Q(1)+C(8)*Q(0)
214
 
     $   *Q(2)+C(9)*Q(1)*Q(2)+C(10)*Q(2)*Q(2)+C(11)*Q(0)*Q(3)
215
 
     $   +C(12)*Q(1)*Q(3)+C(13)*Q(2)*Q(3)+C(14)*Q(3)*Q(3)
 
291
     $   *Q(2)+C(9)*Q(1)*Q(2)+C(10)*Q(2)*Q(2)+C(11)*Q(0)*Q(3)+C(12)
 
292
     $   *Q(1)*Q(3)+C(13)*Q(2)*Q(3)+C(14)*Q(3)*Q(3)
216
293
      ENDIF
217
294
      END
218
295
 
219
296
      SUBROUTINE MP_MG5_1_EVAL_POLY(C,R,Q,OUT)
220
 
      INCLUDE 'coef_specs.inc'
221
 
      COMPLEX*32 C(0:LOOP_MAXCOEFS-1)
 
297
      USE MG5_1_POLYNOMIAL_CONSTANTS
 
298
      COMPLEX*32 C(0:LOOPMAXCOEFS-1)
222
299
      INTEGER R
223
300
      COMPLEX*32 Q(0:3)
224
301
      COMPLEX*32 OUT
229
306
      ENDIF
230
307
      IF (R.GE.2) THEN
231
308
        OUT=OUT+C(5)*Q(0)*Q(0)+C(6)*Q(0)*Q(1)+C(7)*Q(1)*Q(1)+C(8)*Q(0)
232
 
     $   *Q(2)+C(9)*Q(1)*Q(2)+C(10)*Q(2)*Q(2)+C(11)*Q(0)*Q(3)
233
 
     $   +C(12)*Q(1)*Q(3)+C(13)*Q(2)*Q(3)+C(14)*Q(3)*Q(3)
 
309
     $   *Q(2)+C(9)*Q(1)*Q(2)+C(10)*Q(2)*Q(2)+C(11)*Q(0)*Q(3)+C(12)
 
310
     $   *Q(1)*Q(3)+C(13)*Q(2)*Q(3)+C(14)*Q(3)*Q(3)
234
311
      ENDIF
235
312
      END
236
313
 
237
314
      SUBROUTINE MG5_1_ADD_COEFS(A,RA,B,RB)
238
 
      INCLUDE 'coef_specs.inc'
 
315
      USE MG5_1_POLYNOMIAL_CONSTANTS
239
316
      INTEGER I
240
 
      COMPLEX*16 A(0:LOOP_MAXCOEFS-1),B(0:LOOP_MAXCOEFS-1)
 
317
      COMPLEX*16 A(0:LOOPMAXCOEFS-1),B(0:LOOPMAXCOEFS-1)
241
318
      INTEGER RA,RB
242
319
 
243
 
      INTEGER NCOEF_R(0:2)
244
 
      DATA NCOEF_R/1,5,15/
245
 
 
246
320
      DO I=0,NCOEF_R(RB)-1
247
321
        A(I)=A(I)+B(I)
248
322
      ENDDO
249
323
      END
250
324
 
251
325
      SUBROUTINE MP_MG5_1_ADD_COEFS(A,RA,B,RB)
252
 
      INCLUDE 'coef_specs.inc'
 
326
      USE MG5_1_POLYNOMIAL_CONSTANTS
253
327
      INTEGER I
254
 
      COMPLEX*32 A(0:LOOP_MAXCOEFS-1),B(0:LOOP_MAXCOEFS-1)
 
328
      COMPLEX*32 A(0:LOOPMAXCOEFS-1),B(0:LOOPMAXCOEFS-1)
255
329
      INTEGER RA,RB
256
330
 
257
 
      INTEGER NCOEF_R(0:2)
258
 
      DATA NCOEF_R/1,5,15/
259
 
 
260
331
      DO I=0,NCOEF_R(RB)-1
261
332
        A(I)=A(I)+B(I)
262
333
      ENDDO
263
334
      END
264
335
 
265
336
      SUBROUTINE MG5_1_MERGE_WL(WL,R,LCUT_SIZE,CONST,OUT)
266
 
      INCLUDE 'coef_specs.inc'
 
337
      USE MG5_1_POLYNOMIAL_CONSTANTS
267
338
      INTEGER I,J
268
 
      COMPLEX*16 WL(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
339
      COMPLEX*16 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
269
340
      INTEGER R,LCUT_SIZE
270
341
      COMPLEX*16 CONST
271
 
      COMPLEX*16 OUT(0:LOOP_MAXCOEFS-1)
272
 
 
273
 
      INTEGER NCOEF_R(0:2)
274
 
      DATA NCOEF_R/1,5,15/
 
342
      COMPLEX*16 OUT(0:LOOPMAXCOEFS-1)
275
343
 
276
344
      DO I=1,LCUT_SIZE
277
345
        DO J=0,NCOEF_R(R)-1
281
349
      END
282
350
 
283
351
      SUBROUTINE MP_MG5_1_MERGE_WL(WL,R,LCUT_SIZE,CONST,OUT)
284
 
      INCLUDE 'coef_specs.inc'
 
352
      USE MG5_1_POLYNOMIAL_CONSTANTS
285
353
      INTEGER I,J
286
 
      COMPLEX*32 WL(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
354
      COMPLEX*32 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
287
355
      INTEGER R,LCUT_SIZE
288
356
      COMPLEX*32 CONST
289
 
      COMPLEX*32 OUT(0:LOOP_MAXCOEFS-1)
290
 
 
291
 
      INTEGER NCOEF_R(0:2)
292
 
      DATA NCOEF_R/1,5,15/
 
357
      COMPLEX*32 OUT(0:LOOPMAXCOEFS-1)
293
358
 
294
359
      DO I=1,LCUT_SIZE
295
360
        DO J=0,NCOEF_R(R)-1
300
365
 
301
366
      SUBROUTINE MG5_1_UPDATE_WL_0_1(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
302
367
     $ ,OUT)
303
 
      INCLUDE 'coef_specs.inc'
 
368
      USE MG5_1_POLYNOMIAL_CONSTANTS
304
369
      INTEGER I,J,K
305
 
      COMPLEX*16 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
370
      COMPLEX*16 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
306
371
      COMPLEX*16 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
307
 
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
372
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
308
373
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
309
374
 
310
375
      DO I=1,LCUT_SIZE
325
390
 
326
391
      SUBROUTINE MP_MG5_1_UPDATE_WL_0_1(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
327
392
     $ ,OUT)
328
 
      INCLUDE 'coef_specs.inc'
 
393
      USE MG5_1_POLYNOMIAL_CONSTANTS
329
394
      INTEGER I,J,K
330
 
      COMPLEX*32 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
395
      COMPLEX*32 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
331
396
      COMPLEX*32 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
332
 
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
397
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
333
398
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
334
399
 
335
400
      DO I=1,LCUT_SIZE
350
415
 
351
416
      SUBROUTINE MG5_1_UPDATE_WL_2_0(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
352
417
     $ ,OUT)
353
 
      INCLUDE 'coef_specs.inc'
 
418
      USE MG5_1_POLYNOMIAL_CONSTANTS
354
419
      INTEGER I,J,K
355
 
      COMPLEX*16 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
420
      COMPLEX*16 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
356
421
      COMPLEX*16 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
357
 
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
422
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
358
423
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
359
424
 
360
425
      DO I=1,LCUT_SIZE
385
450
 
386
451
      SUBROUTINE MP_MG5_1_UPDATE_WL_2_0(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
387
452
     $ ,OUT)
388
 
      INCLUDE 'coef_specs.inc'
 
453
      USE MG5_1_POLYNOMIAL_CONSTANTS
389
454
      INTEGER I,J,K
390
 
      COMPLEX*32 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
455
      COMPLEX*32 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
391
456
      COMPLEX*32 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
392
 
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
457
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
393
458
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
394
459
 
395
460
      DO I=1,LCUT_SIZE
420
485
 
421
486
      SUBROUTINE MG5_1_UPDATE_WL_1_0(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
422
487
     $ ,OUT)
423
 
      INCLUDE 'coef_specs.inc'
 
488
      USE MG5_1_POLYNOMIAL_CONSTANTS
424
489
      INTEGER I,J,K
425
 
      COMPLEX*16 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
490
      COMPLEX*16 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
426
491
      COMPLEX*16 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
427
 
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
492
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
428
493
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
429
494
 
430
495
      DO I=1,LCUT_SIZE
445
510
 
446
511
      SUBROUTINE MP_MG5_1_UPDATE_WL_1_0(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
447
512
     $ ,OUT)
448
 
      INCLUDE 'coef_specs.inc'
 
513
      USE MG5_1_POLYNOMIAL_CONSTANTS
449
514
      INTEGER I,J,K
450
 
      COMPLEX*32 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
515
      COMPLEX*32 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
451
516
      COMPLEX*32 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
452
 
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
517
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
453
518
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
454
519
 
455
520
      DO I=1,LCUT_SIZE
470
535
 
471
536
      SUBROUTINE MG5_1_UPDATE_WL_0_0(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
472
537
     $ ,OUT)
473
 
      INCLUDE 'coef_specs.inc'
 
538
      USE MG5_1_POLYNOMIAL_CONSTANTS
474
539
      INTEGER I,J,K
475
 
      COMPLEX*16 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
540
      COMPLEX*16 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
476
541
      COMPLEX*16 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
477
 
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
542
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
478
543
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
479
544
 
480
545
      DO I=1,LCUT_SIZE
491
556
 
492
557
      SUBROUTINE MP_MG5_1_UPDATE_WL_0_0(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
493
558
     $ ,OUT)
494
 
      INCLUDE 'coef_specs.inc'
 
559
      USE MG5_1_POLYNOMIAL_CONSTANTS
495
560
      INTEGER I,J,K
496
 
      COMPLEX*32 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
561
      COMPLEX*32 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
497
562
      COMPLEX*32 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
498
 
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
563
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
499
564
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
500
565
 
501
566
      DO I=1,LCUT_SIZE
512
577
 
513
578
      SUBROUTINE MG5_1_UPDATE_WL_1_1(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
514
579
     $ ,OUT)
515
 
      INCLUDE 'coef_specs.inc'
 
580
      USE MG5_1_POLYNOMIAL_CONSTANTS
516
581
      INTEGER I,J,K
517
 
      COMPLEX*16 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
582
      COMPLEX*16 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
518
583
      COMPLEX*16 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
519
 
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
584
      COMPLEX*16 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
520
585
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
521
586
 
522
587
      DO I=1,LCUT_SIZE
547
612
 
548
613
      SUBROUTINE MP_MG5_1_UPDATE_WL_1_1(A,LCUT_SIZE,B,IN_SIZE,OUT_SIZE
549
614
     $ ,OUT)
550
 
      INCLUDE 'coef_specs.inc'
 
615
      USE MG5_1_POLYNOMIAL_CONSTANTS
551
616
      INTEGER I,J,K
552
 
      COMPLEX*32 A(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
617
      COMPLEX*32 A(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
553
618
      COMPLEX*32 B(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
554
 
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOP_MAXCOEFS-1,MAXLWFSIZE)
 
619
      COMPLEX*32 OUT(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
555
620
      INTEGER LCUT_SIZE,IN_SIZE,OUT_SIZE
556
621
 
557
622
      DO I=1,LCUT_SIZE