Barretenberg
The ZK-SNARK library at the core of Aztec
|
Used to store instructions to create partial_non_native_field_multiplication gates. We want to cache these (and remove duplicates) as the stdlib code can end up multiplying the same inputs repeatedly. More...
#include <ultra_circuit_builder.hpp>
Classes | |
struct | Hash |
Public Member Functions | |
bool | operator== (const cached_partial_non_native_field_multiplication &other) const |
bool | operator< (const cached_partial_non_native_field_multiplication &other) const |
Static Public Member Functions | |
static void | deduplicate (std::vector< cached_partial_non_native_field_multiplication > &vec, UltraCircuitBuilder_< ExecutionTrace > *circuit_builder) |
Dedupilcate cache entries which represent multiplication of the same witnesses. | |
Public Attributes | |
std::array< uint32_t, 4 > | a |
std::array< uint32_t, 4 > | b |
uint32_t | lo_0 |
uint32_t | hi_0 |
uint32_t | hi_1 |
Used to store instructions to create partial_non_native_field_multiplication gates. We want to cache these (and remove duplicates) as the stdlib code can end up multiplying the same inputs repeatedly.
Definition at line 105 of file ultra_circuit_builder.hpp.
|
inlinestatic |
Dedupilcate cache entries which represent multiplication of the same witnesses.
While a and b witness vectors are the same, lo_0, hi_0 and hi_1 can vary, so we have to connect them or there is a vulnerability
vec | |
circuit_builder |
Definition at line 131 of file ultra_circuit_builder.hpp.
|
inline |
Definition at line 154 of file ultra_circuit_builder.hpp.
|
inline |
Definition at line 112 of file ultra_circuit_builder.hpp.
std::array<uint32_t, 4> bb::UltraCircuitBuilder_< ExecutionTrace_ >::cached_partial_non_native_field_multiplication::a |
Definition at line 106 of file ultra_circuit_builder.hpp.
std::array<uint32_t, 4> bb::UltraCircuitBuilder_< ExecutionTrace_ >::cached_partial_non_native_field_multiplication::b |
Definition at line 107 of file ultra_circuit_builder.hpp.
uint32_t bb::UltraCircuitBuilder_< ExecutionTrace_ >::cached_partial_non_native_field_multiplication::hi_0 |
Definition at line 109 of file ultra_circuit_builder.hpp.
uint32_t bb::UltraCircuitBuilder_< ExecutionTrace_ >::cached_partial_non_native_field_multiplication::hi_1 |
Definition at line 110 of file ultra_circuit_builder.hpp.
uint32_t bb::UltraCircuitBuilder_< ExecutionTrace_ >::cached_partial_non_native_field_multiplication::lo_0 |
Definition at line 108 of file ultra_circuit_builder.hpp.