Routines (alphabetical) > Routines: I > INDGEN

# INDGEN

The INDGEN function returns an array with the specified dimensions. Each element of the array is set to the value of its one-dimensional subscript. For example, `I=INDGEN(100)` will create a 100-element, 16-bit integer array with the values 0, 1, ..., 99.

## Syntax

Result = INDGEN(D1[, ..., D8] [, /BYTE | , /COMPLEX | , /DCOMPLEX | , /DOUBLE | , /FLOAT | , INCREMENT=value | , /L64 | , /LONG | , /STRING | , /UINT | , /UL64 | , /ULONG] [, START=value] [, TYPE=value] )

## Return Value

Each element of the returned integer array is set to the value of its one-dimensional subscript.

## Arguments

### Di

Either an array or a series of scalar expressions specifying the dimensions of the result. If a single argument is specified, it can be either a scalar expression or an array of up to eight elements. If multiple arguments are specified, they must all be scalar expressions. Up to eight dimensions can be specified. If the dimension arguments are not integer values, IDL will convert them to integer values before creating the new array.

## Keywords

### BYTE

Set this keyword to create a byte array.

### COMPLEX

Set this keyword to create a complex, single-precision, floating-point array.

### DCOMPLEX

Set this keyword to create a complex, double-precision, floating-point array.

### DOUBLE

Set this keyword to create a double-precision, floating-point array.

### FLOAT

Set this keyword to create a single-precision, floating-point array.

### INCREMENT

Set this keyword to a double-precision number giving the spacing between values in the array. The default is 1. Setting this keyword is equivalent to multiplying each array element by this value and then converting to the result type.

### L64

Set this keyword to create a 64-bit integer array.

### LONG

Set this keyword to create a longword integer array.

### START

Set the START keyword to an integer giving the value of the first element in the array. The default is 0. Setting this keyword is equivalent to adding a constant offset to each element of the result.

### STRING

Set this keyword to create a string array.

### TYPE

The type code to set the type of the result. See the description of the SIZE function for a list of IDL type codes.

### UINT

Set this keyword to create an unsigned integer array.

### UL64

Set this keyword to create an unsigned 64-bit integer array.

### ULONG

Set this keyword to create an unsigned longword integer array.

### 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

Original | Introduced
8.2.1 | Added START keyword

## See Also

BINDGEN, CINDGEN, DCINDGEN, DINDGEN, FINDGEN, LINDGEN, -SINDGEN, UINDGEN, UL64INDGEN, ULINDGEN