-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cc31aab
commit 2a6f6b6
Showing
1 changed file
with
25 additions
and
0 deletions.
There are no files selected for viewing
25 changes: 25 additions & 0 deletions
25
cpp/src/barretenberg/proof_system/arithmetization/arithmetization.hpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#include <cstddef> | ||
|
||
namespace arithmetization { | ||
|
||
template <size_t _num_wires, size_t _num_gates> struct Arithmetization { | ||
static constexpr size_t num_wires = 3; | ||
static constexpr size_t num_selectors = 7; | ||
// Note: For even greater modularity, in eace instantiation we could specify a list of components here, where a | ||
// component is a meaningful collection of functions for creating gates, as in: | ||
// | ||
// struct Component { | ||
// using Arithmetic = component::Arithmetic3Wires; | ||
// using RangeConstraints = component::Base4Accumulators or component::GenPerm or... | ||
// using LooupTables = component::Plookup4Wire or component::CQ8Wire or... | ||
// ... | ||
// }; | ||
// | ||
// We should only do this if it becomes necessary or convenient, as might happen when implementing certain execution | ||
// trace layout optimizations. | ||
}; | ||
|
||
using Standard = Arithmetization<3, 7>; | ||
using Turbo = Arithmetization<4, 11>; | ||
|
||
} // namespace arithmetization |