1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
! Program to test WHERE on unknown size arrays
program where_3
integer A(10, 2)
A = 0
call sub(A)
contains
subroutine sub(B)
integer, dimension(:, :) :: B
B(1:5, 1) = 0
B(6:10, 1) = 5
where (B(:,1)>0)
B(:,1) = B(:,1) + 10
endwhere
if (any (B .ne. reshape ((/0, 0, 0, 0, 0, 15, 15, 15, 15, 15, &
0, 0, 0, 0, 0, 0, 0, 0, 0, 0/), (/10, 2/)))) call abort
end subroutine
end program
|