1 ! Test unpack0 for character arrays.
5 integer, parameter :: n1 = 3, n2 = 4, nv = 10, slen = 9
6 character (len = slen), dimension (n1, n2) :: field
7 character (len = slen), dimension (nv) :: vector
8 logical, dimension (n1, n2) :: mask
13 field (i1, i2) = 'abc'(i1:i1) // 'defg'(i2:i2) // 'cantrip'
16 mask (1, :) = (/ .true., .false., .true., .true. /)
17 mask (2, :) = (/ .true., .false., .false., .false. /)
18 mask (3, :) = (/ .false., .true., .true., .true. /)
21 vector (i) = 'crespo' // '0123456789'(i:i)
24 call test (unpack (vector, mask, field))
27 character (len = slen), dimension (:, :) :: a
29 if (size (a, 1) .ne. n1) call abort
30 if (size (a, 2) .ne. n2) call abort
35 if (mask (i1, i2)) then
37 if (a (i1, i2) .ne. vector (i)) call abort
39 if (a (i1, i2) .ne. field (i1, i2)) call abort