| 505 | |
| 506 | template<typename Ti, typename To, af_op_t op> |
| 507 | void reduce(Param<To> out, CParam<Ti> in, int dim, bool change_nan, |
| 508 | double nanval) { |
| 509 | switch (dim) { |
| 510 | case 0: return reduce_first<Ti, To, op>(out, in, change_nan, nanval); |
| 511 | case 1: return reduce_dim<Ti, To, op, 1>(out, in, change_nan, nanval); |
| 512 | case 2: return reduce_dim<Ti, To, op, 2>(out, in, change_nan, nanval); |
| 513 | case 3: return reduce_dim<Ti, To, op, 3>(out, in, change_nan, nanval); |
| 514 | } |
| 515 | } |
| 516 | template<typename Ti, typename To, af_op_t op> |
| 517 | void reduce_all(Param<To> out, CParam<Ti> in, bool change_nan, double nanval) { |
| 518 | int in_elements = in.dims[0] * in.dims[1] * in.dims[2] * in.dims[3]; |
no outgoing calls
no test coverage detected