Conversation
| polynomial poly_q_table_column_4(subgroup_size); | ||
|
|
||
| size_t offset = subgroup_size - tables_size - s_randomness - 1; | ||
| size_t offset = subgroup_size - tables_size; |
There was a problem hiding this comment.
We inserted a 1 at the end so that the polynomial would not be zero. Don't know why since we add randomness anyway
| // start from 1 instead of 0? | ||
| uint32_t left_value = 3; | ||
| uint32_t right_value = 5; | ||
| uint32_t right_value = 3; |
There was a problem hiding this comment.
can you explain what this value is because the change looks arbitrary - maybe add comment as well
There was a problem hiding this comment.
The change is because the multitable only works on 2-bit values, so 5 is too big
| namespace dummy_tables { | ||
|
|
||
| /** | ||
| * @brief Lookup the value corresponding to a sepcific key |
| inline BasicTable generate_honk_dummy_table(const BasicTableId id, const size_t table_index) | ||
| { | ||
|
|
||
| ASSERT(table_id == static_cast<uint64_t>(id)); |
There was a problem hiding this comment.
why do this two have to be equal - i understand that id is static while table_id can change depending on function (?)
There was a problem hiding this comment.
We are using the same function in 2 places by templating it, but the API already includes the id in arguments. This is just a simple bug check to ensure that we don't use the wrong instantiation
…f entries used to make UltraHonk polynomials non-zero (AztecProtocol/barretenberg#531) feat(ultrahonk): Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero
…f entries used to make UltraHonk polynomials non-zero (AztecProtocol/barretenberg#531) feat(ultrahonk): Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero
Description
In the past we used UINT32 XOR and ADD lookup tables to ensure that UltraHonk! polynomials are not zero. This made the minimum size of the circuit 2^14. This PR adds a dummy table which can be used for the same purpose but only has 2 basic tables each consisting of just 4 entries. In addition I got rid of s_randomness in UltraHonkComposerHelper, which produced bugs, since we don't randomise the polynomials in the same way in Honk!
Checklist:
/markdown/specshave been updated.@briefdescribing the intended functionality.