3#include "barretenberg/ecc/scalar_multiplication/point_table.hpp"
4#include "barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp"
5#include "barretenberg/srs/factories/crs_factory.hpp"
7namespace barretenberg::srs::factories {
11 MemProverCrs(std::vector<typename Curve::AffineElement>
const& points)
12 : num_points(points.size())
13 , monomials_(scalar_multiplication::point_table_alloc<typename Curve::AffineElement>(points.size()))
15 std::copy(points.begin(), points.end(), monomials_.get());
16 scalar_multiplication::generate_pippenger_point_table<Curve>(monomials_.get(), monomials_.get(), num_points);
21 size_t get_monomial_size()
const override {
return num_points; }
25 std::shared_ptr<typename Curve::AffineElement[]> monomials_;
Definition: mem_prover_crs.hpp:9
Curve::AffineElement * get_monomial_points() override
Returns the monomial points in a form to be consumed by scalar_multiplication pippenger algorithm.
Definition: mem_prover_crs.hpp:19
Definition: crs_factory.hpp:18