URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 816 |
Rev 826 |
! Program to test nested forall
|
! Program to test nested forall
|
program forall2
|
program forall2
|
implicit none
|
implicit none
|
integer a(4,4,2)
|
integer a(4,4,2)
|
integer i, j, k, n
|
integer i, j, k, n
|
|
|
a(:,:,1) = reshape((/ 1, 2, 3, 4,&
|
a(:,:,1) = reshape((/ 1, 2, 3, 4,&
|
5, 6, 7, 8,&
|
5, 6, 7, 8,&
|
9,10,11,12,&
|
9,10,11,12,&
|
13,14,15,16/), (/4,4/))
|
13,14,15,16/), (/4,4/))
|
a(:,:,2) = a(:,:,1) + 16
|
a(:,:,2) = a(:,:,1) + 16
|
n=4
|
n=4
|
k=1
|
k=1
|
! Mirror half the matrix
|
! Mirror half the matrix
|
forall (i=k:n)
|
forall (i=k:n)
|
forall (j=1:5-i)
|
forall (j=1:5-i)
|
a(i,j,:) = a(j,i,:)
|
a(i,j,:) = a(j,i,:)
|
end forall
|
end forall
|
end forall
|
end forall
|
|
|
if (any (a(:,:,1) &
|
if (any (a(:,:,1) &
|
.ne. reshape((/ 1, 5, 9,13,&
|
.ne. reshape((/ 1, 5, 9,13,&
|
2, 6,10, 8,&
|
2, 6,10, 8,&
|
3, 7,11,12,&
|
3, 7,11,12,&
|
4,14,15,16/),(/4,4/)))) call abort
|
4,14,15,16/),(/4,4/)))) call abort
|
if (any (a(:,:,2) .ne. a(:,:,1) + 16)) call abort
|
if (any (a(:,:,2) .ne. a(:,:,1) + 16)) call abort
|
end
|
end
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.