parent
f903b91f37
commit
0b9c791483
|
@ -0,0 +1,80 @@
|
|||
* Test automatic arrays.
|
||||
program auto0
|
||||
implicit none
|
||||
integer i
|
||||
integer j0(40)
|
||||
integer j1(40)
|
||||
integer jc0(40)
|
||||
integer jc1(40)
|
||||
common /jc0/ jc0
|
||||
common /jc1/ jc1
|
||||
|
||||
data j0/40*3/
|
||||
data j1/40*4/
|
||||
|
||||
i = 40
|
||||
call a1 (j0, j1, i)
|
||||
|
||||
do i = 1, 40
|
||||
if (j0(i) .ne. 4) call abort
|
||||
if (j1(i) .ne. 3) call abort
|
||||
if (jc0(i) .ne. 6) call abort
|
||||
if (jc1(i) .ne. 5) call abort
|
||||
end do
|
||||
|
||||
end
|
||||
|
||||
block data jc
|
||||
implicit none
|
||||
integer jc0(40)
|
||||
integer jc1(40)
|
||||
common /jc0/ jc0
|
||||
common /jc1/ jc1
|
||||
|
||||
data jc0/40*5/
|
||||
data jc1/40*6/
|
||||
|
||||
end
|
||||
|
||||
subroutine a1 (j0, j1, n)
|
||||
implicit none
|
||||
integer j0(40), j1(40), n
|
||||
integer k0(n), k1(n)
|
||||
integer i
|
||||
integer jc0(40)
|
||||
integer jc1(40)
|
||||
common /jc0/ jc0
|
||||
common /jc1/ jc1
|
||||
|
||||
do i = 1, 40
|
||||
j0(i) = j1(i) - j0(i)
|
||||
jc0(i) = jc1(i) - jc0(i)
|
||||
end do
|
||||
|
||||
n = -1
|
||||
|
||||
do i = 1, 40
|
||||
k0(i) = n
|
||||
k1(i) = n
|
||||
end do
|
||||
|
||||
do i = 1, 40
|
||||
j1(i) = j1(i) + k0(i) * j0(i)
|
||||
jc1(i) = jc1(i) + k1(i) * jc0(i)
|
||||
end do
|
||||
|
||||
n = 500
|
||||
|
||||
do i = 1, 40
|
||||
if (k0(i) .ne. -1) call abort
|
||||
k0(i) = n
|
||||
if (k1(i) .ne. -1) call abort
|
||||
k1(i) = n
|
||||
end do
|
||||
|
||||
do i = 1, 40
|
||||
j0(i) = j1(i) + j0(i)
|
||||
jc0(i) = jc1(i) + jc0(i)
|
||||
end do
|
||||
|
||||
end
|
|
@ -0,0 +1,88 @@
|
|||
* Test automatic arrays.
|
||||
program auto1
|
||||
implicit none
|
||||
integer i
|
||||
integer j0(40)
|
||||
integer j1(40)
|
||||
integer jc0(40)
|
||||
integer jc1(40)
|
||||
common /jc0/ jc0
|
||||
common /jc1/ jc1
|
||||
|
||||
data j0/40*3/
|
||||
data j1/40*4/
|
||||
|
||||
i = 40
|
||||
call a1 (j0, j1, i)
|
||||
|
||||
do i = 1, 40
|
||||
if (j0(i) .ne. 4) call abort
|
||||
if (j1(i) .ne. 3) call abort
|
||||
if (jc0(i) .ne. 6) call abort
|
||||
if (jc1(i) .ne. 5) call abort
|
||||
end do
|
||||
|
||||
end
|
||||
|
||||
block data jc
|
||||
implicit none
|
||||
integer jc0(40)
|
||||
integer jc1(40)
|
||||
common /jc0/ jc0
|
||||
common /jc1/ jc1
|
||||
|
||||
data jc0/40*5/
|
||||
data jc1/40*6/
|
||||
|
||||
end
|
||||
|
||||
subroutine a1 (j0, j1, n)
|
||||
implicit none
|
||||
integer j0(40), j1(40), n
|
||||
integer k0(n,3,2), k1(n,3,2)
|
||||
integer i,j,k
|
||||
integer jc0(40)
|
||||
integer jc1(40)
|
||||
common /jc0/ jc0
|
||||
common /jc1/ jc1
|
||||
|
||||
do i = 1, 40
|
||||
j0(i) = j1(i) - j0(i)
|
||||
jc0(i) = jc1(i) - jc0(i)
|
||||
end do
|
||||
|
||||
n = -1
|
||||
|
||||
do k = 1, 2
|
||||
do j = 1, 3
|
||||
do i = 1, 40
|
||||
k0(i, j, k) = n
|
||||
k1(i, j, k) = n
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
do i = 1, 40
|
||||
j1(i) = j1(i) + k0(i, 3, 2) * j0(i)
|
||||
jc1(i) = jc1(i) + k1(i, 1, 1) * jc0(i)
|
||||
end do
|
||||
|
||||
n = 500
|
||||
|
||||
do k = 1, 2
|
||||
do j = 1, 3
|
||||
do i = 1, 40
|
||||
if (k0(i, j, k) .ne. -1) call abort
|
||||
k0(i, j, k) = n
|
||||
if (k1(i, j, k) .ne. -1) call abort
|
||||
k1(i, j, k) = n
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
do i = 1, 40
|
||||
j0(i) = j1(i) + j0(i)
|
||||
jc0(i) = jc1(i) + jc0(i)
|
||||
end do
|
||||
|
||||
end
|
Loading…
Reference in New Issue