cshift(array, shift [, dim])
performs a circular shift on elements of array
along the dimension of dim
. If dim
is omitted it is taken to be 1
. dim
is a scaler of type integer
in the range of where is the rank of array
. If the rank of array
is one, then all elements of array
are shifted by shift
places. If rank is greater than one, then all complete rank one sections of array
along the given dimension are shifted. Elements shifted out one end of each rank one section are shifted back in the other end.
Fortran 95 and later
Transformational function
result = cshift(array, shift [, dim])
array
- Shall be an array of any type.shift
- The type shall be integer
.dim
- The type shall be integer
.Returns an array of same type and rank as the array
argument.
program test_cshift
integer, dimension(3,3) :: a
a = reshape( (/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), (/ 3, 3 /))
print '(3i3)', a(1,:)
print '(3i3)', a(2,:)
print '(3i3)', a(3,:)
a = cshift(a, SHIFT=(/1, 2, -1/), DIM=2)
print *
print '(3i3)', a(1,:)
print '(3i3)', a(2,:)
print '(3i3)', a(3,:)
end program test_cshift