1 subroutine mul66(rt,rtt,r) 2 real*8 rt(6,6),r(6,6),rtt(6,6) 3 do i=1,6 4 do j=1,6 5 do ia=1,6 6 rtt(i,ia)=rt(i,j)*r(j,ia)+rtt(i,ia) 7 end do 8 end do 9 end do 10 end 11 12 program test 13 real*8 xj(6,6),w(6,6),w1(6,6) 14 parameter(idump=0) 15 integer i,j 16 17 do i=1,6 18 do j=1,6 19 xj(i,j) = 0.0d0 20 w1(i,j) = 0.0d0 21 w(i,j) = i * 10.0d0 + j; 22 end do 23 end do 24 25 xj(1,2) = 1.0d0 26 xj(2,1) = -1.0d0 27 xj(3,4) = 1.0d0 28 xj(4,3) = -1.0d0 29 xj(5,6) = 1.0d0 30 xj(6,5) = -1.0d0 31 32 call mul66(xj,w1,w) 33 34 if (idump.ne.0) then 35 write(6,*) 'w1 after call to mul66' 36 do i = 1,6 37 do j = 1,6 38 write(6,'(D15.7)') w1(i,j) 39 end do 40 end do 41 end if 42 43 if (w1(1,1).ne.21.0d0) then 44 call abort() 45 end if 46 47 end 48