CSHIFT — Circular shift elements of an array#
-
CSHIFT(ARRAY, SHIFT, DIM)#
CSHIFT(ARRAY, SHIFT [, DIM])
performs a circular shift on elements ofARRAY
along the dimension ofDIM
. IfDIM
is omitted it is taken to be1
.DIM
is a scalar of typeINTEGER
in the range of 1 leq DIM leq n) where n is the rank ofARRAY
. If the rank ofARRAY
is one, then all elements ofARRAY
are shifted bySHIFT
places. If rank is greater than one, then all complete rank one sections ofARRAY
along the given dimension are shifted. Elements shifted out one end of each rank one section are shifted back in the other end.- Parameters:
ARRAY – Shall be an array of any type.
SHIFT – The type shall be
INTEGER
.DIM – The type shall be
INTEGER
.
- Returns:
Returns an array of same type and rank as the
ARRAY
argument.
- Standard:
Fortran 90 and later
- Class:
Transformational function
- Syntax:
RESULT = CSHIFT(ARRAY, SHIFT [, DIM])
- Example:
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