Barretenberg
The ZK-SNARK library at the core of Aztec
|
Public Member Functions | |
lookup_table_base (const std::array< element, length > &inputs) | |
lookup_table_base (const lookup_table_base &other)=default | |
lookup_table_base & | operator= (const lookup_table_base &other)=default |
element | get (const std::array< bool_ct, length > &bits) const |
element | operator[] (const size_t idx) const |
Public Attributes | |
std::array< field_t< Builder >, table_size > | x_b0_table |
std::array< field_t< Builder >, table_size > | x_b1_table |
std::array< field_t< Builder >, table_size > | x_b2_table |
std::array< field_t< Builder >, table_size > | x_b3_table |
std::array< field_t< Builder >, table_size > | y_b0_table |
std::array< field_t< Builder >, table_size > | y_b1_table |
std::array< field_t< Builder >, table_size > | y_b2_table |
std::array< field_t< Builder >, table_size > | y_b3_table |
element | twin0 |
element | twin1 |
std::array< element, table_size > | element_table |
Static Public Attributes | |
static constexpr size_t | table_size = (1ULL << (length - 1)) |
Creates a lookup table for a set of 2, 3 or 4 points
The lookup table computes linear combinations of all of the points
e.g. for 3 points A, B, C, the table represents the following values:
0 0 0 -> C+B+A 0 0 1 -> C+B-A 0 1 0 -> C-B+A 0 1 1 -> C-B-A 1 0 0 -> -C+B+A 1 0 1 -> -C+B-A 1 1 0 -> -C-B+A 1 1 1 -> -C-B-A
The table KEY is 3 1-bit NAF entries that correspond to scalar multipliers for base points A, B, C
Definition at line 505 of file biggroup.hpp.
bb::stdlib::element_default::element< C, Fq, Fr, G >::lookup_table_base< length >::lookup_table_base | ( | const std::array< element, length > & | inputs | ) |
Definition at line 433 of file biggroup_tables.hpp.
|
default |
element< C, Fq, Fr, G > bb::stdlib::element_default::element< C, Fq, Fr, G >::lookup_table_base< length >::get | ( | const std::array< bool_ct, length > & | bits | ) | const |
Definition at line 567 of file biggroup_tables.hpp.
|
default |
|
inline |
Definition at line 513 of file biggroup.hpp.
std::array<element, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::element_table |
Definition at line 526 of file biggroup.hpp.
|
staticconstexpr |
Definition at line 506 of file biggroup.hpp.
element bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::twin0 |
Definition at line 524 of file biggroup.hpp.
element bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::twin1 |
Definition at line 525 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::x_b0_table |
Definition at line 515 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::x_b1_table |
Definition at line 516 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::x_b2_table |
Definition at line 517 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::x_b3_table |
Definition at line 518 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::y_b0_table |
Definition at line 520 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::y_b1_table |
Definition at line 521 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::y_b2_table |
Definition at line 522 of file biggroup.hpp.
std::array<field_t<Builder>, table_size> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::lookup_table_base< length >::y_b3_table |
Definition at line 523 of file biggroup.hpp.