-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathalgorithm.h
36 lines (35 loc) · 2.73 KB
/
algorithm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "defines.h"
af_err af_sum(af_array *out, const af_array in, const int dim);
af_err af_sum_nan(af_array *out, const af_array in, const int dim, const double nanval);
af_err af_product(af_array *out, const af_array in, const int dim);
af_err af_product_nan(af_array *out, const af_array in, const int dim, const double nanval);
af_err af_min(af_array *out, const af_array in, const int dim);
af_err af_max(af_array *out, const af_array in, const int dim);
af_err af_all_true(af_array *out, const af_array in, const int dim);
af_err af_any_true(af_array *out, const af_array in, const int dim);
af_err af_count(af_array *out, const af_array in, const int dim);
af_err af_sum_all(double *real, double *imag, const af_array in);
af_err af_sum_nan_all(double *real, double *imag, const af_array in, const double nanval);
af_err af_product_all(double *real, double *imag, const af_array in);
af_err af_product_nan_all(double *real, double *imag, const af_array in, const double nanval);
af_err af_min_all(double *real, double *imag, const af_array in);
af_err af_max_all(double *real, double *imag, const af_array in);
af_err af_all_true_all(double *real, double *imag, const af_array in);
af_err af_any_true_all(double *real, double *imag, const af_array in);
af_err af_count_all(double *real, double *imag, const af_array in);
af_err af_imin(af_array *out, af_array *idx, const af_array in, const int dim);
af_err af_imax(af_array *out, af_array *idx, const af_array in, const int dim);
af_err af_imin_all(double *real, double *imag, unsigned *idx, const af_array in);
af_err af_imax_all(double *real, double *imag, unsigned *idx, const af_array in);
af_err af_accum(af_array *out, const af_array in, const int dim);
af_err af_scan(af_array *out, const af_array in, const int dim, af_binary_op op, bool inclusive_scan);
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);
af_err af_where(af_array *idx, const af_array in);
af_err af_diff1(af_array *out, const af_array in, const int dim);
af_err af_diff2(af_array *out, const af_array in, const int dim);
af_err af_sort(af_array *out, const af_array in, const unsigned dim, const bool isAscending);
af_err af_sort_index(af_array *out, af_array *indices, const af_array in, const unsigned dim, const bool isAscending);
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);
af_err af_set_unique(af_array *out, const af_array in, const bool is_sorted);
af_err af_set_union(af_array *out, const af_array first, const af_array second, const bool is_unique);
af_err af_set_intersect(af_array *out, const af_array first, const af_array second, const bool is_unique);