Next: , Previous: CPU_TIME, Up: Intrinsic Procedures

### 6.44 `CSHIFT` — Circular shift elements of an array

Description:
`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 1 /leq DIM /leq n) where n 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.
Standard:
F95 and later
Class:
transformational function
Syntax:
`RESULT = CSHIFT(A, SHIFT [, DIM])`
Arguments:

 ARRAY May be any type, not scaler. SHIFT The type shall be `INTEGER`. DIM The type shall be `INTEGER`.

Return value:
Returns an array of same type and rank as the ARRAY argument.
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
```