CSHIFT (array, shift [,dim]) Class: Transformational function - Generic Performs a circular shift on a rank-one array, or performs circular shifts on all the complete rank-one sections along a given dimension of an array of rank two or greater. Elements shifted off one end are inserted at the other end. Different sections can be shifted by different amounts and in different directions. The "shift" can be a scalar integer or array with rank one less than "array". The "dim" must be a scalar integer with a value in the range 1 to n, where "n" is the rank of "array". If "dim" is omitted, it is assumed to be 1. The result is an array with the same type, type parameters, and shape as "array". If "array" has rank one, element i of the result is array (1 + MODULO (i + "shift" - 1, SIZE (array))). If "array" has rank greater than 1, section (s1, s2, ...s"dim"-1, :, s"dim"+1, ..., sn) of the result has a value equal to CSHIFT (array(s1, s2, ..., s"dim"-1, :, s"dim"+1, ..., sn), sh, 1), where "sh" is "shift" or shift(s1, s2, ..., s"dim"-1, s"dim"+1,..., sn). The value of "shift" determines the amount and direction of the circular shift. A positive integer causes a shift to the left (in rows) or up (in columns). A negative integer causes a shift to the right (in rows) or down (in columns). Examples: V is the array (1, 2, 3, 4, 5, 6). CSHIFT (V, SHIFT=2) shifts V circularly to the left by 2 positions, producing the value (3, 4, 5, 6, 1, 2). CSHIFT (V, SHIFT= -2) shifts V circularly to the right by 2 positions, producing the value (5, 6, 1, 2, 3, 4). M is the array Consider the following array: Array M |1 2 3| |4 5 6| |7 8 9| CSHIFT (M, SHIFT = 1, DIM = 2) produces the result: |2 3 1| |5 6 4| |8 9 7| CSHIFT (M, SHIFT = -1, DIM = 1) produces the result |7 8 9| |1 2 3| |4 5 6| CSHIFT (M, SHIFT = (/1, -1, 0/), DIM = 2) produces the result |2 3 1| |6 4 5| |7 8 9|