You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the following to replace add_sub submachine calls
a. Implement add4 logic in main machine, putting carry in unused cells of the main machine
b. Usestd::machines::small_field::pointer_arith::increment_ptr instead
Fix many links to the memory machine (a language fix).
(Suggested by @georgwiese but I'm not sure how) Fix memory machine, which currently uses one additional fixed column for each permutation call, and another accumulation column overall.
The text was updated successfully, but these errors were encountered:
After implementing 1.b. in #1832 and testing with the same witness generation time as simply using 100 add_sub links, I think 1.a. would have similar results. It's essentially the same as 1.b., but just one fewer carry column (carry will be stored in unused cells in the main machine).
Update: 1.b. doesn't work in #1832 because we can't disable is_zero constraint in rows other than the first and the last. This is because carry column from increment_ptr implicitly returns a constraint, but isn't explicitly returned by the increment_ptr function, and therefore make_conditional won't disable is_zero constraint properly.
Instead of relying on existing constraint API, I implemented the pointer addition logic within the Keccak main machine itself in #2089.
Things I've thought of/heard of so far:
One of the following to replace
add_sub
submachine callsa. Implement
add4
logic in main machine, putting carry in unused cells of the main machineb. Use
std::machines::small_field::pointer_arith::increment_ptr
insteadFix many links to the memory machine (a language fix).
(Suggested by @georgwiese but I'm not sure how) Fix memory machine, which currently uses one additional fixed column for each permutation call, and another accumulation column overall.
The text was updated successfully, but these errors were encountered: