40 const size_t rows_per_wnaf_digit =
41 (msm_size / eccvm::ADDITIONS_PER_ROW) +
42 ((msm_size % eccvm::ADDITIONS_PER_ROW != 0)
47 const size_t num_rows_for_all_rounds =
48 (eccvm::NUM_WNAF_DIGITS_PER_SCALAR + 1) * rows_per_wnaf_digit;
49 const size_t num_double_rounds = eccvm::NUM_WNAF_DIGITS_PER_SCALAR - 1;
50 const size_t num_rows_for_msm = num_rows_for_all_rounds + num_double_rounds;
52 return static_cast<uint32_t
>(num_rows_for_msm);
100 if (op.
z1 != 0 && !op.
base_point.is_point_at_infinity()) {
103 if (op.
z2 != 0 && !op.
base_point.is_point_at_infinity()) {
122 constexpr size_t num_precompute_rows_per_scalar =
123 eccvm::NUM_WNAF_DIGITS_PER_SCALAR / eccvm::WNAF_DIGITS_PER_ROW;
124 const size_t num_rows_for_precompute_table = msm_count * num_precompute_rows_per_scalar;
125 return static_cast<uint32_t
>(num_rows_for_precompute_table);
Class for tracking the number of rows in the ECCVM circuit and the number of muls performed as the op...
size_t get_num_rows() const
Get the number of rows for the current ECCVM circuit.
uint32_t cached_active_msm_count
uint32_t num_precompute_table_rows
size_t get_num_msm_rows() const
Get the number of rows in the 'msm' column section, for all msms in the circuit.
uint32_t get_number_of_muls() const
static uint32_t get_precompute_table_row_count_for_single_msm(const size_t msm_count)
Get the precompute table row count for single msm object.
static uint32_t num_eccvm_msm_rows(const size_t msm_size)
Get the number of rows in the 'msm' column section of the ECCVM associated with a single multiscalar ...
uint32_t num_transcript_rows
void update_cached_msms(const ECCVMOperation &op)
Update cached_active_msm_count or update other row counts and reset cached_active_msm_count.
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept