| 24 | namespace compute = boost::compute; |
| 25 | |
| 26 | BOOST_AUTO_TEST_CASE(plus_int) |
| 27 | { |
| 28 | int data1[] = { 1, 3, 5, 7 }; |
| 29 | int data2[] = { 2, 4, 6, 8 }; |
| 30 | |
| 31 | compute::vector<int> input1(4, context); |
| 32 | compute::vector<int> input2(4, context); |
| 33 | |
| 34 | compute::copy_n(data1, 4, input1.begin(), queue); |
| 35 | compute::copy_n(data2, 4, input2.begin(), queue); |
| 36 | |
| 37 | compute::vector<int> output(4, context); |
| 38 | compute::transform( |
| 39 | compute::make_zip_iterator( |
| 40 | boost::make_tuple(input1.begin(), input2.begin()) |
| 41 | ), |
| 42 | compute::make_zip_iterator( |
| 43 | boost::make_tuple(input1.end(), input2.end()) |
| 44 | ), |
| 45 | output.begin(), |
| 46 | compute::detail::unpack(compute::plus<int>()), |
| 47 | queue |
| 48 | ); |
| 49 | CHECK_RANGE_EQUAL(int, 4, output, (3, 7, 11, 15)); |
| 50 | } |
| 51 | |
| 52 | BOOST_AUTO_TEST_CASE(fma_float) |
| 53 | { |