Next: CTIME, Previous: CPU_TIME, Up: Intrinsic Procedures [Contents][Index]

### 9.80 `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 scalar 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*:Fortran 95 and later

*Class*:Transformational function

*Syntax*:`RESULT = CSHIFT(ARRAY, SHIFT [, DIM])`

*Arguments*:`ARRAY`Shall be an array of any type. `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