Currently we have a long and complicated src/lookup/lookup_table.rs with a lot of repeated code which generates lookup tables for add, mul, and xor. As suggested here by @CPerezz we should make a trait for lookup tables and have add, mul etc implement the trait. This can also address this comment from @bhgomes, as each lookup table can implement its own lookup function that knows which columns are to be considered "outputs", if any.
Currently we have a long and complicated
src/lookup/lookup_table.rswith a lot of repeated code which generates lookup tables foradd,mul, andxor. As suggested here by @CPerezz we should make a trait for lookup tables and haveadd,muletc implement the trait. This can also address this comment from @bhgomes, as each lookup table can implement its ownlookupfunction that knows which columns are to be considered "outputs", if any.