| 98 | |
| 99 | template<class InputIterator, class T, class BinaryFunction> |
| 100 | inline T dispatch_accumulate(InputIterator first, |
| 101 | InputIterator last, |
| 102 | T init, |
| 103 | BinaryFunction function, |
| 104 | command_queue &queue) |
| 105 | { |
| 106 | size_t size = iterator_range_size(first, last); |
| 107 | if(size == 0){ |
| 108 | return init; |
| 109 | } |
| 110 | |
| 111 | if(can_accumulate_with_reduce(init, function)){ |
| 112 | T result; |
| 113 | reduce(first, last, &result, function, queue); |
| 114 | return result; |
| 115 | } |
| 116 | else { |
| 117 | return generic_accumulate(first, last, init, function, queue); |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | } // end detail namespace |
| 122 |
no test coverage detected