The ISHFT function performs the bit shift operation on bytes, integers and longwords. 
            Examples
            Bit shift each element of the integer array [1, 2, 3, 4, 5] three bits to the left and store the result in B by entering:
            B = ISHFT([1,2,3,4,5], 3)
            The resulting array B is [8, 16, 24, 32, 40].
            Syntax
            Result = ISHFT(P1, P2)
            Return Value
            If P2 is positive, P1 is left shifted P2 bit positions with 0 bits filling vacated positions. If P2 is negative, P1 is right shifted with 0 bits filling vacated positions.
            Arguments
            P1
            The scalar or array to be shifted.
            P2
            The scalar or array containing the number of bit positions and direction of the shift.
            Keywords
            Thread Pool Keywords
            This routine is written to make use of IDL’s thread pool, which can increase execution speed on systems with multiple CPUs. The values stored in the !CPU system variable control whether IDL uses the thread pool for a given computation. In addition, you can use the thread pool keywords TPOOL_MAX_ELTS, TPOOL_MIN_ELTS, and TPOOL_NOTHREAD to override the defaults established by !CPU for a single invocation of this routine. See Thread Pool Keywords for details.
            Version History
            
            See Also
            Bitwise Operators, BIT_POPULATION, SHIFT, IDL_Variable::FromBits, IDL_Variable::ToBits