3#include <benchmark/benchmark.h>
5using namespace benchmark;
20 for (
auto _ : state) {
21 DoNotOptimize(univariate.extend_to<11>());
30 std::generate(univariate.begin(), univariate.end(), [&]() { return FF::random_element(); });
32 const auto extend_to_11 = [](
auto& arr) {
34 const FF delta = tmp - arr[0];
35 for (
size_t idx = 2; idx < 10; idx++) {
36 arr[idx] = (tmp += delta);
42 for (
auto _ : state) {
43 DoNotOptimize(extend_to_11(univariate));
53 for (
auto _ : state) {
54 univariate.self_extend_from<2>();
A univariate polynomial represented by its values on {0, 1,..., domain_end - 1}.
static Univariate get_random()
void self_extend_2_to_11(State &state) noexcept
void fake_extend_2_to_11(State &state) noexcept
BENCHMARK(extend_2_to_11)
void extend_2_to_11(State &state) noexcept
RNG & get_debug_randomness(bool reset, std::uint_fast64_t seed)
field< Bn254FrParams > fr
std::conditional_t< is_field_type_v< Fr >, BarycentricDataCompileTime< Fr, domain_end, num_evals >, BarycentricDataRunTime< Fr, domain_end, num_evals > > BarycentricData
Exposes BarycentricData with compile time arrays if the type is bberg::field and runtime arrays other...
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept