| 221 | boost::compute::detail::radix_sort(vector.begin(), vector.end(), queue); |
| 222 | BOOST_CHECK(boost::compute::is_sorted(vector.begin(), vector.end(), queue) == true); |
| 223 | CHECK_RANGE_EQUAL( |
| 224 | double, 10, vector, |
| 225 | (-6023.0, -5000.1, -63.0, -8.25, -0.0, 0.0, 11.2, 14.0, 152.5, 1234567.0) |
| 226 | ); |
| 227 | } |
| 228 | |
| 229 | BOOST_AUTO_TEST_CASE(sort_char_vector_desc) |
| 230 | { |
| 231 | if(is_apple_cpu_device(device)) { |
| 232 | return; |
| 233 | } |
| 234 | |
| 235 | using boost::compute::char_; |
| 236 | |
| 237 | char_ data[] = { 'c', 'a', '0', '7', 'B', 'F', '\0', '$' }; |
| 238 | boost::compute::vector<char_> vector(data, data + 8, queue); |
| 239 | BOOST_CHECK_EQUAL(vector.size(), size_t(8)); |
| 240 | |
| 241 | BOOST_CHECK(!boost::compute::is_sorted( |
| 242 | vector.begin(), vector.end(), boost::compute::greater<char_>(), queue |
| 243 | )); |
| 244 | boost::compute::detail::radix_sort( |
| 245 | vector.begin(), vector.end(), descending, queue |
| 246 | ); |
| 247 | BOOST_CHECK(boost::compute::is_sorted( |
| 248 | vector.begin(), vector.end(), boost::compute::greater<char_>(), queue |
| 249 | )); |
| 250 | |
| 251 | CHECK_RANGE_EQUAL( |
| 252 | char_, 8, vector, |
| 253 | ('c', 'a', 'F', 'B', '7', '0', '$', '\0') |
| 254 | ); |
| 255 | } |
| 256 | |
| 257 | BOOST_AUTO_TEST_CASE(sort_uchar_vector_desc) |
| 258 | { |
no test coverage detected