Welcome to the Harris Geospatial product documentation center. Here you will find reference guides, help documents, and product libraries.
﻿

### DINDGEN

DINDGEN

The DINDGEN function creates a double-precision, floating-point array with the specified dimensions. Each element of the array is set to the value of its one-dimensional subscript. For example, D=DINDGEN(100) will create a 100-element, double-precision, floating-point array with the values 0.0, 1.0, ..., 99.0.

Note: Values greater than 9007199254740992 cannot be accurately represented using double-precision floating-point arithmetic. If you create a DINDGEN with values larger than 9007199254740992 (for example using the START keyword), your array will contain duplicates and discontinuities beyond this value. In this case, you should consider using L64INDGEN to return 64-bit integer values.

## Example

We need an array of 300 very small consecutive numbers for amounts of a chemical for a computer-controlled system to release during an experiment. Generate these experimental numbers using DINDGEN.

`initialnumbers = DINDGEN(300, START=1)`
`finalnumbers = initialnumbers / 1000000000`
`PRINT, finalnumbers`

## Syntax

Result = DINDGEN(D1 [, ..., D8] [, INCREMENT=value] [, START=value])

## Return Value

Returns an array of the specified dimensions where each element of the 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

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

### START

Set this keyword to a double-precision number 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 (after first multiplying by INCREMENT if necessary) and then converting to the result type.

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.