MCPcopy Create free account
hub / github.com/boostorg/compute / reverse_kernel

Method reverse_kernel

include/boost/compute/algorithm/reverse.hpp:26–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24struct reverse_kernel : public meta_kernel
25{
26 reverse_kernel(Iterator first, Iterator last)
27 : meta_kernel("reverse")
28 {
29 typedef typename std::iterator_traits<Iterator>::value_type value_type;
30
31 // store size of the range
32 m_size = detail::iterator_range_size(first, last);
33 add_set_arg<const cl_uint>("size", static_cast<const cl_uint>(m_size));
34
35 *this <<
36 decl<cl_uint>("i") << " = get_global_id(0);\n" <<
37 decl<cl_uint>("j") << " = size - get_global_id(0) - 1;\n" <<
38 decl<value_type>("tmp") << "=" << first[var<cl_uint>("i")] << ";\n" <<
39 first[var<cl_uint>("i")] << "=" << first[var<cl_uint>("j")] << ";\n" <<
40 first[var<cl_uint>("j")] << "= tmp;\n";
41 }
42
43 void exec(command_queue &queue)
44 {

Callers

nothing calls this directly

Calls 1

iterator_range_sizeFunction · 0.85

Tested by

no test coverage detected