Skip to content

Supporting lookups in plompiler

Raphael Toledo requested to merge DR@ultraplomp into master

Issue #92 (closed)

TurboPlonk has been upgraded to UltraPlonk to support range requests and lookups on tables. This functionality has yet to be added to Plompiler which is the purpose of this MR. In this MR, we

  • Define the table object and add it to the CS object. A table is a structure comprising integers representing the number of input and output columns, helper functions to import and export tables as well as the actual tables splitted in two as expected input and outputs.
  • Update the CS's add, solve... functions to support tables. The add function has been updated to support outputing more than one value, however more changes might be needed in the functions to break the invariant that "outputs are stored in the C wire". This may need a refactor of Plompiler.
  • Add a simple test on OR operation with an hardcoded table.
Edited by Raphael Toledo

Merge request reports