A high-performance general-purpose compute library

Find the union of two sets. More...

Functions

AFAPI array setUnion (const array &first, const array &second, const bool is_unique=false)
 C++ Interface for finding the union of two arrays.
 
AFAPI af_err af_set_union (af_array *out, const af_array first, const af_array second, const bool is_unique)
 C Interface for finding the union of two arrays.
 
AFAPI array setunion (const array &first, const array &second, const bool is_unique=false)
 

Detailed Description

Find the union of two sets.

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

A simple example of finding the union of two sets using setUnion() can be seen below:

// input data
int h_setA[4] = {1, 2, 3, 3};
int h_setB[4] = {3, 4, 5, 5};
af::array setA(4, h_setA);
af::array setB(4, h_setB);
af::array setAB = setUnion(setA, setB);
// setAB == { 1, 2, 3, 4, 5 };
A multi dimensional data container.
Definition: array.h:37
AFAPI array setUnion(const array &first, const array &second, const bool is_unique=false)
C++ Interface for finding the union of two arrays.

The function can be sped up if it is known that each 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 setAB = setUnion(setA, setB, is_unique);
// setAB == { 1, 2, 3, 4, 5 };

Function Documentation

◆ af_set_union()

AFAPI af_err af_set_union ( af_array out,
const af_array  first,
const af_array  second,
const bool  is_unique 
)

C Interface for finding the union of two arrays.

Parameters
[out]outwill contain the union of first and second
[in]firstis the first input array
[in]secondis the second input array
[in]is_uniqueif true, skips calling unique internally
Returns
AF_SUCCESS if the execution completes properly

◆ setUnion()

AFAPI array setUnion ( const array first,
const array second,
const bool  is_unique = false 
)

C++ Interface for finding the union of two arrays.

Parameters
[in]firstis the first input array
[in]secondis the second input array
[in]is_uniqueif true, skips calling unique internally
Returns
all unique values present in first and second (union) in increasing order

◆ setunion()

AFAPI array setunion ( const array first,
const array second,
const bool  is_unique = false 
)

C++ Interface for finding the union of two arrays.

Parameters
[in]firstis the first input array
[in]secondis the second input array
[in]is_uniqueif true, skips calling unique internally
Returns
all unique values present in first and second (union) in increasing order
Deprecated:
Use setUnion instead