A high-performance general-purpose compute library

- Main Page
- Tutorials
- Release Notes
- Examples

Functions
setintersect
ArrayFire Functions | ArrayFire Functions by Category » Vector Algorithms » Set operations

## Functions
AFAPI array | setIntersect (const array &first, const array &second, const bool is_unique=false)
| C++ Interface to evaluate the intersection of two arrays.
AFAPI af_err | af_set_intersect (af_array *out, const af_array first, const af_array second, const bool is_unique)
| C Interface to evaluate the intersection of two arrays.
AFAPI array | setintersect (const array &first, const array &second, const bool is_unique=false)
| C++ Interface to evaluate the intersection of two arrays.

## Detailed Description

Evaluate the intersection of two arrays.

The inputs must be one-dimensional arrays. Batching is not currently supported.

An example:

// input data
int h_setA[4] = {1, 2, 3, 3};
int h_setB[4] = {3, 3, 4, 5};
af::array setA(4, h_setA);
af::array setB(4, h_setB);
af::array setA_B = setIntersect(setA, setB);
// setA_B == { 3 };

The function can be sped up if the input is sorted in increasing order and its values are unique.

// input data
int h_setA[4] = {1, 2, 3, 4};
int h_setB[4] = {2, 3, 4, 5};
af::array setA(4, h_setA);
af::array setB(4, h_setB);
const bool is_unique = true;
// is_unique flag specifies if inputs are unique,
// allows algorithm to skip internal calls to setUnique
// inputs must be unique and sorted in increasing order
af::array setA_B = setIntersect(setA, setB, is_unique);
// setA_B == { 2, 3, 4 };

## Function Documentation

## ◆ af_set_intersect()

AFAPI af_err af_set_intersect | ( | af_array * | out,
|  | const af_array | first,
|  | const af_array | second,
|  | const bool | is_unique )

C Interface to evaluate the intersection of two arrays.

Parameters

  [out] | out | intersection, values in increasing order
  [in] | first | input array
  [in] | second | input array
  [in] | is_unique | if true, skip calling unique internally

Returns
  AF_SUCCESS, if function returns successfully, else an af_err code is given

## ◆ setIntersect()

AFAPI array setIntersect | ( | const array & | first,
|  | const array & | second,
|  | const bool | is_unique = false )

C++ Interface to evaluate the intersection of two arrays.

Parameters

  [in] | first | input array
  [in] | second | input array
  [in] | is_unique | if true, skip calling setUnique internally

Returns
  intersection, values in increasing order

## ◆ setintersect()

AFAPI array setintersect | ( | const array & | first,
|  | const array & | second,
|  | const bool | is_unique = false )

C++ Interface to evaluate the intersection of two arrays.

Parameters

  [in] | first | input array
  [in] | second | input array
  [in] | is_unique | if true, skip calling setUnique internally

Returns
  intersection, values in increasing order

Deprecated
  Use setIntersect instead