#include "prime.h" #include #include #include const std::size_t N = 10000; const auto seed = std::random_device()(); template std::size_t test(F f) { using T = typename decltype(std::function{f})::argument_type; std::size_t count = 0; std::mt19937 generator(seed); std::uniform_int_distribution distribution; auto rng = std::bind(distribution, generator); for (std::size_t i = 0; i < N; ++i) if (f(rng()) == true) ++count; return count; } int main() { int a = test(is_prime1), b = test(is_prime2), c = test(is_prime3); assert(a == b && b == c); }