Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-01 - decus/20-0025/mtmpy.for
There is 1 other file named mtmpy.for in the archive. Click here to see a list.
C	MTMPYD.F4 IS A SAMPLE PROGRAM, WHEN USED IN CONJUNCTION
C	WITH MTMPY(LOADED AND SAVED AS MTMPYD.SAV) WILL
C	ILLUSTRATE THE USE OF MTMPY.
      SUBROUTINE MTMPY(IND,A,B,C,LARG,MARG,N)
	DIMENSION A(25,25), B(25,25), C(25,25)
	L = IABS(LARG)
	M = IABS(MARG)
      I=IND+1
      GO TO (101,201,301,401),I
101   DO 121 J1=1,L
      DO 121 J2=1,N
      C(J1,J2)=0.0
      DO 121 J3=1,M
	IF(LARG)110,5001,108
  108	IF(MARG)105,5001,106
  106	TEMP = A(J1,J3) * B(J3,J2)
      GO TO 121
105   TEMP=A(J1,J3)*B(J2,J3)
      GO TO 121
  110	IF(MARG)115,5001,112
  112	TEMP = A(J3,J1) * B(J3,J2)
      GO TO 121
115   TEMP=A(J3,J1)*B(J2,J3)
121   C(J1,J2)=C(J1,J2)+TEMP
      GO TO 5001
201   DO 221 J1=1,L
221   C(J1,1)=A(J1,1)*B(J1,1)
      GO TO 5001
301   DO 321 J1=1,L
      DO 321 J2=1,M
	IF(MARG)315,5001,310
  310	TEMP = A(J1,1) * B(J1,J2)
      GO TO 321
315   TEMP=A(J1,1)*B(J2,J1)
321   C(J1,J2)=TEMP
      GO TO 5001
401   DO 421 J1=1,L
      DO 421 J2=1,M
	IF(LARG)415,5001,410
  410	TEMP = A(J1,J2) * B(J2,1)
      GO TO 421
415   TEMP=A(J2,J1)*B(J2,1)
421   C(J1,J2)=TEMP
5001  RETURN
      END