MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / reduce

Function reduce

src/backend/cpu/reduce.cpp:49–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47
48template<af_op_t op, typename Ti, typename To>
49Array<To> reduce(const Array<Ti> &in, const int dim, bool change_nan,
50 double nanval) {
51 dim4 odims = in.dims();
52 odims[dim] = 1;
53
54 Array<To> out = createEmptyArray<To>(odims);
55 static const reduce_dim_func<op, Ti, To> reduce_funcs[4] = {
56 kernel::reduce_dim<op, Ti, To, 1>(),
57 kernel::reduce_dim<op, Ti, To, 2>(),
58 kernel::reduce_dim<op, Ti, To, 3>(),
59 kernel::reduce_dim<op, Ti, To, 4>()};
60
61 getQueue().enqueue(reduce_funcs[in.ndims() - 1], out, 0, in, 0, dim,
62 change_nan, nanval);
63
64 return out;
65}
66
67template<af_op_t op, typename Ti, typename Tk, typename To>
68using reduce_dim_func_by_key =

Callers 3

operator()Method · 0.50
operator()Method · 0.50
operator()Method · 0.50

Calls 4

getQueueFunction · 0.50
dimsMethod · 0.45
enqueueMethod · 0.45
ndimsMethod · 0.45

Tested by

no test coverage detected