| 68 | |
| 69 | template<typename Ti, typename To, af_op_t op> |
| 70 | void reduce(Param<To> out, Param<Ti> in, int dim, bool change_nan, |
| 71 | double nanval) { |
| 72 | // TODO: logic to dispatch to different kernels depending on device type |
| 73 | if (getQueue().get_device().is_cpu()) { |
| 74 | reduce_cpu_dispatch<Ti, To, op>(out, in, dim, change_nan, nanval); |
| 75 | } else if (getQueue().get_device().is_gpu()) { |
| 76 | reduce_gpu_dispatch<Ti, To, op>(out, in, dim, change_nan, nanval); |
| 77 | } else { |
| 78 | reduce_default_dispatch<Ti, To, op>(out, in, dim, change_nan, nanval); |
| 79 | } |
| 80 | } |
| 81 | |
| 82 | template<typename Ti, typename To, af_op_t op> |
| 83 | void reduce_all(Param<To> out, Param<Ti> in, bool change_nan, double nanval) { |
no test coverage detected