OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.fortran-torture/] [execute/] [intrinsic_mmloc.f90] - Diff between revs 154 and 816

Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
! Program to test the MINLOC and MAXLOC intrinsics
! Program to test the MINLOC and MAXLOC intrinsics
program testmmloc
program testmmloc
   implicit none
   implicit none
   integer, dimension (3, 3) :: a
   integer, dimension (3, 3) :: a
   integer, dimension (3) :: b
   integer, dimension (3) :: b
   logical, dimension (3, 3) :: m, tr
   logical, dimension (3, 3) :: m, tr
   integer i
   integer i
   character(len=10) line
   character(len=10) line
   a = reshape ((/1, 2, 3, 5, 4, 6, 9, 8, 7/), (/3, 3/));
   a = reshape ((/1, 2, 3, 5, 4, 6, 9, 8, 7/), (/3, 3/));
   tr = .true.
   tr = .true.
   b = minloc (a, 1)
   b = minloc (a, 1)
   if (b(1) .ne. 1) call abort
   if (b(1) .ne. 1) call abort
   if (b(2) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(3) .ne. 3) call abort
   if (b(3) .ne. 3) call abort
   b = -1
   b = -1
   write (line, 9000) minloc(a,1)
   write (line, 9000) minloc(a,1)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 1) call abort
   if (b(1) .ne. 1) call abort
   if (b(2) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(3) .ne. 3) call abort
   if (b(3) .ne. 3) call abort
   m = .true.
   m = .true.
   m(1, 1) = .false.
   m(1, 1) = .false.
   m(1, 2) = .false.
   m(1, 2) = .false.
   b = minloc (a, 1, m)
   b = minloc (a, 1, m)
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(3) .ne. 3) call abort
   if (b(3) .ne. 3) call abort
   b = minloc (a, 1, m .and. tr)
   b = minloc (a, 1, m .and. tr)
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(3) .ne. 3) call abort
   if (b(3) .ne. 3) call abort
   b = -1
   b = -1
   write (line, 9000) minloc(a, 1, m)
   write (line, 9000) minloc(a, 1, m)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(2) .ne. 2) call abort
   if (b(3) .ne. 3) call abort
   if (b(3) .ne. 3) call abort
   b(1:2) = minloc(a)
   b(1:2) = minloc(a)
   if (b(1) .ne. 1) call abort
   if (b(1) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   b = -1
   b = -1
   write (line, 9000) minloc(a)
   write (line, 9000) minloc(a)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 1) call abort
   if (b(1) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   if (b(3) .ne. 0) call abort
   if (b(3) .ne. 0) call abort
   b(1:2) = minloc(a, mask=m)
   b(1:2) = minloc(a, mask=m)
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   b(1:2) = minloc(a, mask=m .and. tr)
   b(1:2) = minloc(a, mask=m .and. tr)
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   b = -1
   b = -1
   write (line, 9000) minloc(a, mask=m)
   write (line, 9000) minloc(a, mask=m)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 1) call abort
   if (b(2) .ne. 1) call abort
   if (b(3) .ne. 0) call abort
   if (b(3) .ne. 0) call abort
   b = maxloc (a, 1)
   b = maxloc (a, 1)
   if (b(1) .ne. 3) call abort
   if (b(1) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(3) .ne. 1) call abort
   if (b(3) .ne. 1) call abort
   b = -1
   b = -1
   write (line, 9000) maxloc(a, 1)
   write (line, 9000) maxloc(a, 1)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 3) call abort
   if (b(1) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(3) .ne. 1) call abort
   if (b(3) .ne. 1) call abort
   m = .true.
   m = .true.
   m(1, 2) = .false.
   m(1, 2) = .false.
   m(1, 3) = .false.
   m(1, 3) = .false.
   b = maxloc (a, 1, m)
   b = maxloc (a, 1, m)
   if (b(1) .ne. 3) call abort
   if (b(1) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(3) .ne. 2) call abort
   if (b(3) .ne. 2) call abort
   b = maxloc (a, 1, m .and. tr)
   b = maxloc (a, 1, m .and. tr)
   if (b(1) .ne. 3) call abort
   if (b(1) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(3) .ne. 2) call abort
   if (b(3) .ne. 2) call abort
   b = -1
   b = -1
   write (line, 9000) maxloc(a, 1, m)
   write (line, 9000) maxloc(a, 1, m)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 3) call abort
   if (b(1) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(3) .ne. 2) call abort
   if (b(3) .ne. 2) call abort
   b(1:2) = maxloc(a)
   b(1:2) = maxloc(a)
   if (b(1) .ne. 1) call abort
   if (b(1) .ne. 1) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   b = -1
   b = -1
   write (line, 9000) maxloc(a)
   write (line, 9000) maxloc(a)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 1) call abort
   if (b(1) .ne. 1) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   b(1:2) = maxloc(a, mask=m)
   b(1:2) = maxloc(a, mask=m)
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   b(1:2) = maxloc(a, mask=m .and. tr)
   b(1:2) = maxloc(a, mask=m .and. tr)
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   b = -1
   b = -1
   write (line, 9000) maxloc(a, mask=m)
   write (line, 9000) maxloc(a, mask=m)
   read (line, 9000) b
   read (line, 9000) b
   if (b(1) .ne. 2) call abort
   if (b(1) .ne. 2) call abort
   if (b(2) .ne. 3) call abort
   if (b(2) .ne. 3) call abort
   if (b(3) .ne. 0) call abort
   if (b(3) .ne. 0) call abort
9000 format (3I3)
9000 format (3I3)
end program
end program
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.