1! Program to test the SIZE intrinsics 2program testsize 3 implicit none 4 real, dimension(:, :), allocatable :: a 5 integer, dimension(5) :: j 6 integer, dimension(2, 3) :: b 7 integer i 8 9 if (size (b(2, :), 1) .ne. 3) STOP 1 10 11 allocate (a(3:8, 5:7)) 12 13 ! With one parameter 14 if (size(a) .ne. 18) STOP 2 15 16 ! With two parameters, assigning to an array 17 j = size(a, 1) 18 if (any (j .ne. (/6, 6, 6, 6, 6/))) STOP 3 19 20 ! With a variable second parameter 21 i = 2 22 i = size(a, i) 23 if (i .ne. 3) STOP 4 24 25 call test(a) 26contains 27 28subroutine test (a) 29 real, dimension (1:, 1:) :: a 30 integer i 31 32 i = 2 33 if ((size(a, 1) .ne. 6) .or. (size(a, i) .ne. 3)) STOP 5 34 if (size (a) .ne. 18 ) STOP 6 35end subroutine 36end program 37 38