//---------------------------------------------------------------------------// // Copyright (c) 2014 Roshan // // Distributed under the Boost Software License, Version 1.0 // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // // See http://boostorg.github.com/compute for more information. //---------------------------------------------------------------------------// #define BOOST_TEST_MODULE TestStablePartition #include #include #include #include #include #include #include "check_macros.hpp" #include "context_setup.hpp" namespace bc = boost::compute; BOOST_AUTO_TEST_CASE(partition_int) { int dataset[] = {1, 1, -2, 0, 5, -1, 2, 4, 0, -1}; bc::vector vector(dataset, dataset + 10, queue); bc::vector::iterator iter = bc::stable_partition(vector.begin(), vector.begin() + 10, bc::_1 > 0, queue); CHECK_RANGE_EQUAL(int, 10, vector, (1, 1, 5, 2, 4, -2, 0, -1, 0, -1)); BOOST_VERIFY(iter == vector.begin()+5); } BOOST_AUTO_TEST_SUITE_END()