Return the maximum along a given dimension, according to an array of keys. More...
Functions | |
AFAPI void | maxByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1) |
C++ Interface to return the maximum along a given dimension, according to an array of keys. More... | |
AFAPI af_err | af_max_by_key (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim) |
C Interface to return the maximum along a given dimension, according to an array of keys. More... | |
Return the maximum along a given dimension, according to an array of keys.
The maximum is returned from the values corresponding to each group of consecutive equal keys. Keys can repeat; however, only consecutive key values will be considered for each reduction. If a key value is repeated somewhere else in the keys array it will be considered the start of a new reduction. There are two outputs: the reduced set of consecutive keys and the corresponding final set of reduced values.
An example demonstrating the reduction behavior can be seen in the following snippet.
The keys' input type must be integer (s32 or u32).
The output type is the same as input type.
The keys array must be 1-dimenstional matching the size of the reduced dimension. An example of multi-dimensional reduce-by-key can be seen below:
AFAPI af_err af_max_by_key | ( | af_array * | keys_out, |
af_array * | vals_out, | ||
const af_array | keys, | ||
const af_array | vals, | ||
const int | dim | ||
) |
C Interface to return the maximum along a given dimension, according to an array of keys.
[out] | keys_out | reduced keys |
[out] | vals_out | maximum |
[in] | keys | keys array |
[in] | vals | input array |
[in] | dim | dimension along which the maximum is found |
AFAPI void maxByKey | ( | array & | keys_out, |
array & | vals_out, | ||
const array & | keys, | ||
const array & | vals, | ||
const int | dim = -1 |
||
) |
C++ Interface to return the maximum along a given dimension, according to an array of keys.
NaN values are ignored.
[out] | keys_out | reduced keys |
[out] | vals_out | maximum |
[in] | keys | keys array |
[in] | vals | input array |
[in] | dim | dimension along which the maximum is found, -1 denotes the first non-singleton dimension |