MCPcopy Create free account
hub / github.com/ashvardanian/less_slow.cpp / pipeline_cpp20_coroutine

Function pipeline_cpp20_coroutine

less_slow.cpp:3806–3818  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3804
3805template <typename generator_type_>
3806static void pipeline_cpp20_coroutine(bm::State &state) {
3807 std::uint64_t sum = 0, count = 0;
3808 for (auto _ : state) {
3809 auto range = for_range_generator<generator_type_>(pipe_start, pipe_end);
3810 auto filtered_twos = filter_generator<generator_type_>(std::move(range), is_power_of_two);
3811 auto filtered_threes = filter_generator<generator_type_>(std::move(filtered_twos), is_power_of_three);
3812 auto factors = prime_factors_generator<generator_type_>(std::move(filtered_threes));
3813 // Reduce
3814 sum = 0, count = 0;
3815 for (auto factor : factors) sum += factor, count++;
3816 if (count != 84 || sum != 645) state.SkipWithError("Incorrect result");
3817 }
3818}
3819
3820using toy_generator_t = toy_generator<std::uint64_t>;
3821

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected