A high-performance general-purpose compute library
algorithm.h File Reference
#include <af/defines.h>

Go to the source code of this file.

Namespaces

namespace  af
 

Functions

AFAPI array sum (const array &in, const int dim=-1)
 C++ Interface to sum array elements over a given dimension. More...
 
AFAPI array sum (const array &in, const int dim, const double nanval)
 C++ Interface to sum array elements over a given dimension, replacing any NaNs with a specified value. More...
 
AFAPI void sumByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1)
 C++ Interface to sum array elements over a given dimension, according to an array of keys. More...
 
AFAPI void sumByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim, const double nanval)
 C++ Interface to sum array elements over a given dimension, replacing any NaNs with a specified value, according to an array of keys. More...
 
AFAPI array product (const array &in, const int dim=-1)
 C++ Interface to multiply array elements over a given dimension. More...
 
AFAPI array product (const array &in, const int dim, const double nanval)
 C++ Interface to multiply array elements over a given dimension, replacing any NaNs with a specified value. More...
 
AFAPI void productByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1)
 C++ Interface to multiply array elements over a given dimension, according to an array of keys. More...
 
AFAPI void productByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim, const double nanval)
 C++ Interface to multiply array elements over a given dimension, replacing any NaNs with a specified value, according to an array of keys. More...
 
AFAPI array min (const array &in, const int dim=-1)
 C++ Interface to return the minimum along a given dimension. More...
 
AFAPI void minByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1)
 C++ Interface to return the minimum along a given dimension, according to an array of keys. More...
 
AFAPI array max (const array &in, const int dim=-1)
 C++ Interface to return the maximum along a given dimension. More...
 
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 void max (array &val, array &idx, const array &in, const array &ragged_len, const int dim)
 C++ Interface to return the ragged maximum along a given dimension. More...
 
AFAPI array allTrue (const array &in, const int dim=-1)
 C++ Interface to check if all values along a given dimension are true. More...
 
AFAPI void allTrueByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1)
 C++ Interface to check if all values along a given dimension are true, according to an array of keys. More...
 
AFAPI array anyTrue (const array &in, const int dim=-1)
 C++ Interface to check if any values along a given dimension are true. More...
 
AFAPI void anyTrueByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1)
 C++ Interface to check if any values along a given dimension are true, according to an array of keys. More...
 
AFAPI array count (const array &in, const int dim=-1)
 C++ Interface to count non-zero values in an array along a given dimension. More...
 
AFAPI void countByKey (array &keys_out, array &vals_out, const array &keys, const array &vals, const int dim=-1)
 C++ Interface to count non-zero values in an array, according to an array of keys. More...
 
template<typename T >
sum (const array &in)
 C++ Interface to sum array elements over all dimensions. More...
 
template<typename T >
sum (const array &in, double nanval)
 C++ Interface to sum array elements over all dimensions, replacing any NaNs with a specified value. More...
 
template<typename T >
product (const array &in)
 C++ Interface to multiply array elements over the first non-singleton dimension. More...
 
template<typename T >
product (const array &in, double nanval)
 C++ Interface to multiply array elements over the first non-singleton dimension, replacing any NaNs with a specified value. More...
 
template<typename T >
min (const array &in)
 C++ Interface to return the minimum along the first non-singleton dimension. More...
 
template<typename T >
max (const array &in)
 C++ Interface to return the maximum along the first non-singleton dimension. More...
 
template<typename T >
allTrue (const array &in)
 C++ Interface to check if all values along the first non-singleton dimension are true. More...
 
template<typename T >
anyTrue (const array &in)
 C++ Interface to check if any values along the first non-singleton dimension are true. More...
 
template<typename T >
count (const array &in)
 C++ Interface to count non-zero values along the first non-singleton dimension. More...
 
AFAPI void min (array &val, array &idx, const array &in, const int dim=-1)
 C++ Interface to return the minimum and its location along a given dimension. More...
 
AFAPI void max (array &val, array &idx, const array &in, const int dim=-1)
 C++ Interface to return the maximum and its location along a given dimension. More...
 
template<typename T >
void min (T *val, unsigned *idx, const array &in)
 C++ Interface to return the minimum and its location over all dimensions. More...
 
template<typename T >
void max (T *val, unsigned *idx, const array &in)
 C++ Interface to return the maximum and its location over all dimensions. More...
 
AFAPI array accum (const array &in, const int dim=0)
 C++ Interface to evaluate the cumulative sum (inclusive) along a given dimension. More...
 
AFAPI array scan (const array &in, const int dim=0, binaryOp op=AF_BINARY_ADD, bool inclusive_scan=true)
 C++ Interface to scan an array (generalized) over a given dimension. More...
 
AFAPI array scanByKey (const array &key, const array &in, const int dim=0, binaryOp op=AF_BINARY_ADD, bool inclusive_scan=true)
 C++ Interface to scan an array (generalized) over a given dimension, according to an array of keys. More...
 
AFAPI array where (const array &in)
 C++ Interface to locate the indices of the non-zero values in an array. More...
 
AFAPI array diff1 (const array &in, const int dim=0)
 C++ Interface to calculate the first order difference in an array over a given dimension. More...
 
AFAPI array diff2 (const array &in, const int dim=0)
 C++ Interface to calculate the second order difference in an array over a given dimension. More...
 
AFAPI array sort (const array &in, const unsigned dim=0, const bool isAscending=true)
 C++ Interface to sort an array over a given dimension. More...
 
AFAPI void sort (array &out, array &indices, const array &in, const unsigned dim=0, const bool isAscending=true)
 C++ Interface to sort an array over a given dimension and to return the original indices. More...
 
AFAPI void sort (array &out_keys, array &out_values, const array &keys, const array &values, const unsigned dim=0, const bool isAscending=true)
 C++ Interface to sort an array over a given dimension, according to an array of keys. More...
 
AFAPI array setUnique (const array &in, const bool is_sorted=false)
 C++ Interface to return the unique values in an array. More...
 
AFAPI array setUnion (const array &first, const array &second, const bool is_unique=false)
 C++ Interface to evaluate the union of two arrays. More...
 
AFAPI array setIntersect (const array &first, const array &second, const bool is_unique=false)
 C++ Interface to evaluate the intersection of two arrays. More...
 
AFAPI af_err af_sum (af_array *out, const af_array in, const int dim)
 C Interface to sum array elements over a given dimension. More...
 
AFAPI af_err af_sum_all_array (af_array *out, const af_array in)
 C Interface to sum array elements over all dimensions. More...
 
AFAPI af_err af_sum_nan (af_array *out, const af_array in, const int dim, const double nanval)
 C Interface to sum array elements over a given dimension, replacing any NaNs with a specified value. More...
 
AFAPI af_err af_sum_nan_all_array (af_array *out, const af_array in, const double nanval)
 C Interface to sum array elements over all dimensions, replacing any NaNs with a specified value. More...
 
AFAPI af_err af_sum_by_key (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim)
 C Interface to sum array elements over a given dimension, according to an array of keys. More...
 
AFAPI af_err af_sum_by_key_nan (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim, const double nanval)
 C Interface to sum array elements over a given dimension, replacing any NaNs with a specified value, according to an array of keys. More...
 
AFAPI af_err af_product (af_array *out, const af_array in, const int dim)
 C Interface to multiply array elements over a given dimension. More...
 
AFAPI af_err af_product_all_array (af_array *out, const af_array in)
 C Interface to multiply array elements over all dimensions. More...
 
AFAPI af_err af_product_nan (af_array *out, const af_array in, const int dim, const double nanval)
 C Interface to multiply array elements over a given dimension, replacing any NaNs with a specified value. More...
 
AFAPI af_err af_product_nan_all_array (af_array *out, const af_array in, const double nanval)
 C Interface to multiply array elements over all dimensions, replacing any NaNs with a specified value. More...
 
AFAPI af_err af_product_by_key (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim)
 C Interface to multiply array elements over a given dimension, according to an array of keys. More...
 
AFAPI af_err af_product_by_key_nan (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim, const double nanval)
 C Interface to multiply array elements over a given dimension, replacing any NaNs with a specified value, according to an array of keys. More...
 
AFAPI af_err af_min (af_array *out, const af_array in, const int dim)
 C Interface to return the minimum along a given dimension. More...
 
AFAPI af_err af_min_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 minimum along a given dimension, according to an array of keys. More...
 
AFAPI af_err af_max (af_array *out, const af_array in, const int dim)
 C Interface to return the maximum along a given dimension. 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...
 
AFAPI af_err af_max_ragged (af_array *val, af_array *idx, const af_array in, const af_array ragged_len, const int dim)
 C Interface to return the ragged maximum over a given dimension. More...
 
AFAPI af_err af_all_true (af_array *out, const af_array in, const int dim)
 C Interface to check if all values along a given dimension are true. More...
 
AFAPI af_err af_all_true_by_key (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim)
 C Interface to check if all values along a given dimension are true, according to an array of keys. More...
 
AFAPI af_err af_any_true (af_array *out, const af_array in, const int dim)
 C Interface to check if any values along a given dimension are true. More...
 
AFAPI af_err af_any_true_by_key (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim)
 C Interface to check if any values along a given dimension are true. More...
 
AFAPI af_err af_count (af_array *out, const af_array in, const int dim)
 C Interface to count non-zero values in an array along a given dimension. More...
 
AFAPI af_err af_count_by_key (af_array *keys_out, af_array *vals_out, const af_array keys, const af_array vals, const int dim)
 C Interface to count non-zero values in an array, according to an array of keys. More...
 
AFAPI af_err af_sum_all (double *real, double *imag, const af_array in)
 C Interface to sum array elements over all dimensions. More...
 
AFAPI af_err af_sum_nan_all (double *real, double *imag, const af_array in, const double nanval)
 C Interface to sum array elements over all dimensions, replacing any NaNs with a specified value. More...
 
AFAPI af_err af_product_all (double *real, double *imag, const af_array in)
 C Interface to multiply array elements over all dimensions. More...
 
AFAPI af_err af_product_nan_all (double *real, double *imag, const af_array in, const double nanval)
 C Interface to multiply array elements over all dimensions, replacing any NaNs with a specified value. More...
 
AFAPI af_err af_min_all (double *real, double *imag, const af_array in)
 C Interface to return the minimum over all dimensions. More...
 
AFAPI af_err af_min_all_array (af_array *out, const af_array in)
 C Interface to return the minimum over all dimensions. More...
 
AFAPI af_err af_max_all (double *real, double *imag, const af_array in)
 C Interface to return the maximum over all dimensions. More...
 
AFAPI af_err af_max_all_array (af_array *out, const af_array in)
 C Interface to return the maximum over all dimensions. More...
 
AFAPI af_err af_all_true_all (double *real, double *imag, const af_array in)
 C Interface to check if all values over all dimensions are true. More...
 
AFAPI af_err af_all_true_all_array (af_array *out, const af_array in)
 C Interface to check if all values over all dimensions are true. More...
 
AFAPI af_err af_any_true_all (double *real, double *imag, const af_array in)
 C Interface to check if any values over all dimensions are true. More...
 
AFAPI af_err af_any_true_all_array (af_array *out, const af_array in)
 C Interface to check if any values over all dimensions are true. More...
 
AFAPI af_err af_count_all (double *real, double *imag, const af_array in)
 C Interface to count non-zero values over all dimensions. More...
 
AFAPI af_err af_count_all_array (af_array *out, const af_array in)
 C Interface to count non-zero values over all dimensions. More...
 
AFAPI af_err af_imin (af_array *out, af_array *idx, const af_array in, const int dim)
 C Interface to return the minimum and its location along a given dimension. More...
 
AFAPI af_err af_imax (af_array *out, af_array *idx, const af_array in, const int dim)
 C Interface to return the maximum and its location along a given dimension. More...
 
AFAPI af_err af_imin_all (double *real, double *imag, unsigned *idx, const af_array in)
 C Interface to return the minimum and its location over all dimensions. More...
 
AFAPI af_err af_imax_all (double *real, double *imag, unsigned *idx, const af_array in)
 C Interface to return the maximum and its location over all dimensions. More...
 
AFAPI af_err af_accum (af_array *out, const af_array in, const int dim)
 C Interface to evaluate the cumulative sum (inclusive) along a given dimension. More...
 
AFAPI af_err af_scan (af_array *out, const af_array in, const int dim, af_binary_op op, bool inclusive_scan)
 C Interface to scan an array (generalized) over a given dimension. More...
 
AFAPI af_err af_scan_by_key (af_array *out, const af_array key, const af_array in, const int dim, af_binary_op op, bool inclusive_scan)
 C Interface to scan an array (generalized) over a given dimension, according to an array of keys. More...
 
AFAPI af_err af_where (af_array *idx, const af_array in)
 C Interface to locate the indices of the non-zero values in an array. More...
 
AFAPI af_err af_diff1 (af_array *out, const af_array in, const int dim)
 C Interface to calculate the first order difference in an array over a given dimension. More...
 
AFAPI af_err af_diff2 (af_array *out, const af_array in, const int dim)
 C Interface to calculate the second order difference in an array over a given dimension. More...
 
AFAPI af_err af_sort (af_array *out, const af_array in, const unsigned dim, const bool isAscending)
 C Interface to sort an array over a given dimension. More...
 
AFAPI af_err af_sort_index (af_array *out, af_array *indices, const af_array in, const unsigned dim, const bool isAscending)
 C Interface to sort an array over a given dimension and to return the original indices. More...
 
AFAPI af_err af_sort_by_key (af_array *out_keys, af_array *out_values, const af_array keys, const af_array values, const unsigned dim, const bool isAscending)
 C Interface to sort an array over a given dimension, according to an array of keys. More...
 
AFAPI af_err af_set_unique (af_array *out, const af_array in, const bool is_sorted)
 C Interface to return the unique values in an array. More...
 
AFAPI af_err af_set_union (af_array *out, const af_array first, const af_array second, const bool is_unique)
 C Interface to evaluate the union of two arrays. More...
 
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. More...
 

Function Documentation

◆ af_all_true_by_key()

AFAPI af_err af_all_true_by_key ( af_array keys_out,
af_array vals_out,
const af_array  keys,
const af_array  vals,
const int  dim 
)

C Interface to check if all values along a given dimension are true, according to an array of keys.

NaN values are ignored.

Parameters
[out]keys_outreduced keys
[out]vals_outarray containing 1's if all true; 0's otherwise
[in]keyskeys array
[in]valsinput array
[in]dimdimension along which the check occurs
Returns
AF_SUCCESS, if function returns successfully, else an af_err code is given