A high-performance general-purpose compute library

Functions

array setIntersect (const array &first, const array &second, const bool is_unique=false)
 C++ Interface to evaluate the intersection of two arrays.
 
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()

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]outintersection, values in increasing order
[in]firstinput array
[in]secondinput array
[in]is_uniqueif true, skip calling unique internally
Returns
AF_SUCCESS, if function returns successfully, else an af_err code is given

◆ setIntersect()

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

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

Parameters
[in]firstinput array
[in]secondinput array
[in]is_uniqueif 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]firstinput array
[in]secondinput array
[in]is_uniqueif true, skip calling setUnique internally
Returns
intersection, values in increasing order
Deprecated
Use setIntersect instead