Chris Beaumont's IDL Library

Download source code

single page | use frames     summary     class     fields     routine details     file attributes

./

intersect.pro

topintersect

Utilities

result = intersect(vec1, vec2 [, count=count] [, sparse=sparse] [, dense=dense] [, verbose=verbose])

Intersect returns the intersection of two 1D, interger-valued vectors. That is, given vec1 and vec2, intersect returns the values common to both sets of data.

Intersect has three methods to find the intersection. One uses histograms, and is optimized for dense vectors (i.e. the range of values in vec1 and vec2 is much larger than the number of elements in those vectors). The second method uses value_locate, and is more efficient when the input vectors are sparse (the range of values greatly exceeds the number of elements).

The method to use can be chosen manually. If not, the program makes a guess at which process is faster based on the data. Some lightweight testing on my machine suggests that, for range / n_elements >~ 30, the sparse method is faster.

Return value

The values common to both vec1 and vec2. If the two sets are mutually exclusive, the routine returns NAN

Parameters

vec1 in required

A one-dimensional vector. It must be one of the integer data types (byte, int, long, uint, ulong, ulong64, or long64)

vec2 in required

A one-dimensional vector. It must be one of the integer data types.

Keywords

count in optional

Set to a variable to hold the number of intersection elements.

sparse in optional

Force intersect to find the inersection using the method optimized for sparse data sets.

dense in optional

Force intersect to find the intersection using the method optimized for dense data sets

verbose in optional

Set to a number (1-3) to produce textual output with varying levels of detail. See VERBOSITY for details.

File attributes

Modifcation date: Mon Mar 22 16:17:13 2010
Lines: 124