Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
straus_lookup_table.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
8
11#include <optional>
12#include <vector>
13
14namespace bb::stdlib {
15
16// Forward declaration
17template <typename Builder> class cycle_group;
18
44template <typename Builder> class straus_lookup_table {
45 public:
47 using Curve = typename Builder::EmbeddedCurve;
48 using Group = typename Curve::Group;
49 using Element = typename Curve::Element;
51
52 static std::vector<Element> compute_straus_lookup_table_hints(const Element& base_point,
53 const Element& offset_generator,
54 size_t table_bits);
55
58 const cycle_group<Builder>& base_point,
59 const cycle_group<Builder>& offset_generator,
60 size_t table_bits,
62 cycle_group<Builder> read(const field_t& index);
66 size_t rom_id = 0;
68};
69
70} // namespace bb::stdlib
typename Group::element Element
Definition grumpkin.hpp:55
typename grumpkin::g1 Group
Definition grumpkin.hpp:54
typename Group::affine_element AffineElement
Definition grumpkin.hpp:56
cycle_group represents a group Element of the proving system's embedded curve i.e....
straus_lookup_table computes a lookup table of size 1 << table_bits
typename Builder::EmbeddedCurve Curve
std::vector< cycle_group< Builder > > point_table
typename Curve::AffineElement AffineElement
static std::vector< Element > compute_straus_lookup_table_hints(const Element &base_point, const Element &offset_generator, size_t table_bits)
Compute the output points generated when computing the Straus lookup table.
cycle_group< Builder > read(const field_t &index)
Given an _index witness, return straus_lookup_table[index]
StrictMock< MockContext > context
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
This file contains part of the logic for the Origin Tag mechanism that tracks the use of in-circuit p...