| 3691 | } |
| 3692 | |
| 3693 | static void pipeline_cpp11_std_function(bm::State &state) { |
| 3694 | std::uint64_t sum = 0, count = 0; |
| 3695 | for (auto _ : state) { |
| 3696 | sum = 0, count = 0; |
| 3697 | for_range_stl(pipe_start, pipe_end, [&](std::uint64_t value) { |
| 3698 | filter_stl(value, is_power_of_two, [&](std::uint64_t value) { |
| 3699 | filter_stl(value, is_power_of_three, [&](std::uint64_t value) { |
| 3700 | prime_factors_stl(value, [&](std::uint64_t factor) { sum += factor, count++; }); |
| 3701 | }); |
| 3702 | }); |
| 3703 | }); |
| 3704 | if (count != 84 || sum != 645) state.SkipWithError("Incorrect result"); |
| 3705 | } |
| 3706 | } |
| 3707 | |
| 3708 | BENCHMARK(pipeline_cpp11_std_function); |
| 3709 |
nothing calls this directly
no test coverage detected