4 character*1 :: i
, j(10)
6 integer(kind
=1) :: ii
, jj(10)
12 type(mytype
) :: iii
, jjj(10)
16 iii
= mytype (41.9999_8
, 77, "test_of_spread_")
18 ! Test constant sources.
20 j
= spread ("z", 1 , 10)
21 if (any (j
/= "z")) call abort ()
22 jj
= spread (19, 1 , 10)
23 if (any (jj
/= 19)) call abort ()
25 ! Test variable sources.
27 j
= spread (i
, 1 , 10)
28 if (any (j
/= "w")) call abort ()
29 jj
= spread (ii
, 1 , 10)
30 if (any (jj
/= 42)) call abort ()
31 jjj
= spread (iii
, 1 , 10)
32 if (any (jjj
%x
/= 41.9999_8
)) call abort ()
33 if (any (jjj
%i
/= 77)) call abort ()
34 if (any (jjj
%ch
/= "test_of_spread_")) call abort ()
36 ! Check that spread != 1 is OK.
38 jj(2:10:2) = spread (1, 1, 5)
39 if (any (jj(1:9:2) /= 42) .or
. any (jj(2:10:2) /= 1)) call abort ()
41 ! Finally, check that temporaries and trans-io.c work correctly.
43 write (buffer
, '(4a1)') spread (i
, 1 , 4)
44 if (trim(buffer
) /= "wwww") call abort ()
45 write (buffer
, '(4a1)') spread ("r", 1 , 4)
46 if (trim(buffer
) /= "rrrr") call abort ()
47 write (buffer
, '(4i2)') spread (ii
, 1 , 4)
48 if (trim(buffer
) /= "42424242") call abort ()
49 write (buffer
, '(4i2)') spread (31, 1 , 4)
50 if (trim(buffer
) /= "31313131") call abort ()