#include #if THRUST_CPP_DIALECT >= 2014 #include #include #include #include template > struct invoker : testing::async::mixin::input::counting_iterator_from_0 , testing::async::mixin::output::device_vector , testing::async::inclusive_scan::mixin::postfix_args:: all_overloads , testing::async::inclusive_scan::mixin::invoke_reference:: host_synchronous , testing::async::inclusive_scan::mixin::invoke_async::simple , testing::async::mixin::compare_outputs::assert_almost_equal_if_fp_quiet { static std::string description() { return "fancy input iterator (counting_iterator)"; } }; template struct test_counting_iterator { void operator()(std::size_t num_values) const { num_values = unittest::truncate_to_max_representable(num_values); testing::async::test_policy_overloads>::run(num_values); } }; // Use built-in types only, counting_iterator doesn't seem to be compatible with // the custom_numeric. DECLARE_GENERIC_SIZED_UNITTEST_WITH_TYPES(test_counting_iterator, BuiltinNumericTypes); #endif // C++14