Télécharger mamupw.eso
Retour à la liste
mamupw
C MAMUPW SOURCE MB234859 26/01/26 21:15:10 12460
SUBROUTINE MAMUPW(IDEB,IFIN,VAL2,IPOSR2,LPL2,NA2,
& VAL1,IPOSR1,LPL1,NA1,PT,NBO)
IMPLICIT INTEGER(I-N)
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION VAL1(*),VAL2(*)
REAL*8 PT(36)
C
DO I=1,MIN(6,NA1)*MIN(6,NA2)
PT(I)=0.D0
ENDDO
C
LON=IFIN-IDEB+1
IF (LON.LE.0) GOTO 999
C
NBO=NBO+LON*(NA1*NA2)
C
IPOS1=IDEB+IPOSR1
IPOS2=IDEB+IPOSR2
IF (NA2.GE.6) THEN
IF (NA1.GE.6) THEN
call mamu66(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.5) THEN
call mamu65(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.4) THEN
call mamu64(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.3) THEN
call mamu63(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.2) THEN
call mamu62(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.1) THEN
call mamu61(LON,VAL1
(IPOS1
), VAL2
(IPOS2
),LPL2,pt
) ENDIF
ELSEIF (NA2.GE.5) THEN
IF (NA1.GE.6) THEN
call mamu56(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.5) THEN
call mamu55(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.4) THEN
call mamu54(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.3) THEN
call mamu53(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.2) THEN
call mamu52(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.1) THEN
call mamu51(LON,VAL1
(IPOS1
), VAL2
(IPOS2
),LPL2,pt
) ENDIF
ELSEIF (NA2.GE.4) THEN
IF (NA1.GE.6) THEN
call mamu46(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.5) THEN
call mamu45(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.4) THEN
call mamu44(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.3) THEN
call mamu43(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.2) THEN
call mamu42(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.1) THEN
call mamu41(LON,VAL1
(IPOS1
), VAL2
(IPOS2
),LPL2,pt
) ENDIF
ELSEIF (NA2.GE.3) THEN
IF (NA1.GE.6) THEN
call mamu36(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.5) THEN
call mamu35(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.4) THEN
call mamu34(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.3) THEN
call mamu33(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.2) THEN
call mamu32(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.1) THEN
call mamu31(LON,VAL1
(IPOS1
), VAL2
(IPOS2
),LPL2,pt
) ENDIF
ELSEIF (NA2.GE.2) THEN
IF (NA1.GE.6) THEN
call mamu26(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.5) THEN
call mamu25(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.4) THEN
call mamu24(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.3) THEN
call mamu23(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.2) THEN
call mamu22(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
),LPL2,pt
) ELSEIF (NA1.GE.1) THEN
call mamu21(LON,VAL1
(IPOS1
), VAL2
(IPOS2
),LPL2,pt
) ENDIF
ELSEIF (NA2.GE.1) THEN
IF (NA1.GE.6) THEN
call mamu16(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
), pt
) ELSEIF (NA1.GE.5) THEN
call mamu15(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
), pt
) ELSEIF (NA1.GE.4) THEN
call mamu14(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
), pt
) ELSEIF (NA1.GE.3) THEN
call mamu13(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
), pt
) ELSEIF (NA1.GE.2) THEN
call mamu12(LON,VAL1
(IPOS1
),lpl1,VAL2
(IPOS2
), pt
) ELSEIF (NA1.GE.1) THEN
pt
(1)=pt
(1)+ddotpv((LON
),VAL1
(IPOS1
),VAL2
(IPOS2
)) ENDIF
ENDIF
999 CONTINUE
END