shift(3I)

SHIFT - Performs a left circular shift

As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.

NAME
     SHIFT - Performs a left circular shift

SYNOPSIS
     SHIFT ([I=]i,[J=]j)

IMPLEMENTATION
     UNICOS, UNICOS/mk, IRIX systems

     CF90, MIPSpro 7 Fortran 90

STANDARDS
     Fortran extension

DESCRIPTION
     SHIFT performs a left circular shift of i by j bits.  It accepts the
     following arguments:

     i         The value to be shifted.  i can be of type Boolean, integer,
               real, or Cray pointer.

     j         The number of bits to shift the value.  Must be of type
               integer or Boolean.  j must be within the range
               0 <= j <=size, where size is the size, in bits, of i.  That
               is, if i is a 64-bit object, j must be within the range
               0 <= j <= 64.

     For values of j outside these ranges, SHIFT returns an undefined
     result.

     On UNICOS systems, an object is 64 bits.  On UNICOS/mk systems, an
     object is 32 bits or 64 bits.  On IRIX systems, an object is 8 bits,
     16 bits, 32 bits, or 64 bits.

     SHIFT is an elemental function.  The name of this intrinsic cannot be
     passed as an argument.

NOTES
     This is an outmoded routine.  Refer to the Fortran Language Reference
     Manual, Volume 2, for information about outmoded features and their
     preferred standard alternatives.

     The bit representation of the logical data type is not consistent
     among UNICOS and UNICOS/mk systems.  For further details, see your
     compiler's reference manuals.

RETURN VALUES
     SHIFT returns a value of type Boolean on UNICOS and UNICOS/mk systems.
     It returns an integer result on IRIX systems.

EXAMPLES
     The following section of Fortran code shows the SHIFT function used in
     the case where i is of type integer.  For simplicity, a 16-bit object
     is used.  The bit pattern of i and the bit pattern of the result are
     also given.

          INTEGER I1, I2, I3
          ...
          I2 = 5
          I3 = SHIFT(I1,I2)

           ---------------------------------------------------------------
          | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
           ---------------------------------------------------------------
                                           I1 (i)

           ---------------------------------------------------------------
          | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
           ---------------------------------------------------------------
                                          I3 (result)

SEE ALSO
     SHIFTL(3I)

     Intrinsic Procedures Reference Manual for the printed version of this
     man page.