diff --git a/benchmarks/benchmark_utils.hpp b/benchmarks/benchmark_utils.hpp index 137ae24..228b88e 100644 --- a/benchmarks/benchmark_utils.hpp +++ b/benchmarks/benchmark_utils.hpp @@ -7,14 +7,17 @@ #include +void init_x(std::vector &x) { + for (size_t i = 0; i < x.size(); ++i) { + x[i] = (i % 360) * 0.0174533f; // degrees to radians + } +} + template static void benchmark_sinf(benchmark::State &state) { const size_t N = static_cast(state.range(0)); std::vector x(N), s(N); - - for (size_t i = 0; i < N; ++i) { - x[i] = (i % 360) * 0.0174533f; // degrees to radians - } + init_x(x); Backend backend; @@ -39,10 +42,7 @@ template static void benchmark_cosf(benchmark::State &state) { const size_t N = static_cast(state.range(0)); std::vector x(N), c(N); - - for (size_t i = 0; i < N; ++i) { - x[i] = (i % 360) * 0.0174533f; - } + init_x(x); Backend backend; @@ -67,10 +67,7 @@ template static void benchmark_sincosf(benchmark::State &state) { const size_t N = static_cast(state.range(0)); std::vector x(N), s(N), c(N); - - for (size_t i = 0; i < N; ++i) { - x[i] = (i % 360) * 0.0174533f; - } + init_x(x); Backend backend;