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