Routines (alphabetical) > Routines: I > ISHFT

# ISHFT

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 Chapter , “Thread Pool Keywords” for details.

## Version History

Original | Introduced

## See Also

SHIFT