Try this (everything in the Fortran 90 standard, except for the designation [ ]
instead of (/ /)
)
program sandbox implicit none real, dimension(2, 2) :: p real, dimension(2, 4) :: q integer i print *, "p" p = reshape([1, 3, 2, 4], shape(p)) do i=1, 2 print *, p(i, :) end do print *, "spread (orig)" q = reshape(spread(p, 2, 2), [2, 4]) do i=1, 2 print *, q(i, :) end do print *, "spread" q = reshape(spread(transpose(p), 2, 2), [2, 4], order=[2, 1]) do i=1, 2 print *, q(i, :) end do print *, "[p, p]" q = reshape([p, p], [2, 4]) do i=1, 2 print *, q(i, :) end do end program sandbox
user1220978
source share