| 15 | */ |
| 16 | template <typename T, class Op> |
| 17 | void dispatch( |
| 18 | T* dst, T* workspace, size_t workspace_size, size_t A, size_t B, size_t C, |
| 19 | bool exclusive, bool reverse, const Op& op, cudaStream_t stream) { |
| 20 | #define IF(exclusive_v, reverse_v) \ |
| 21 | if (exclusive == exclusive_v && reverse == reverse_v) { \ |
| 22 | run_kern<T, Op, exclusive_v, reverse_v>( \ |
| 23 | dst, workspace, workspace_size, A, B, C, op, stream); \ |
| 24 | return; \ |
| 25 | } |
| 26 | IF(true, true) |
| 27 | IF(true, false) |
| 28 | IF(false, true) |
| 29 | IF(false, false) |
| 30 | megdnn_assert_internal(false); |
| 31 | #undef IF |
| 32 | } |
| 33 | |
| 34 | } // anonymous namespace |
| 35 |
no outgoing calls