barretenberg
Loading...
Searching...
No Matches
circuit_builders.hpp
1
5#pragma once
6#include "barretenberg/proof_system/circuit_builder/goblin_ultra_circuit_builder.hpp"
7#include "barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp"
8#include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp"
9
10template <typename T>
11concept HasPlookup =
13
14template <typename T>
16template <typename T>
19
20#define INSTANTIATE_STDLIB_METHOD(stdlib_method) \
21 template stdlib_method(proof_system::StandardCircuitBuilder); \
22 template stdlib_method(proof_system::UltraCircuitBuilder); \
23 template stdlib_method(proof_system::GoblinUltraCircuitBuilder);
24
25#define INSTANTIATE_STDLIB_TYPE(stdlib_type) \
26 template class stdlib_type<proof_system::StandardCircuitBuilder>; \
27 template class stdlib_type<proof_system::UltraCircuitBuilder>; \
28 template class stdlib_type<proof_system::GoblinUltraCircuitBuilder>;
29
30#define INSTANTIATE_STDLIB_TYPE_VA(stdlib_type, ...) \
31 template class stdlib_type<proof_system::StandardCircuitBuilder, __VA_ARGS__>; \
32 template class stdlib_type<proof_system::UltraCircuitBuilder, __VA_ARGS__>; \
33 template class stdlib_type<proof_system::GoblinUltraCircuitBuilder, __VA_ARGS__>;
34
35#define INSTANTIATE_STDLIB_BASIC_TYPE(stdlib_type) template class stdlib_type<proof_system::StandardCircuitBuilder>;
36
37#define INSTANTIATE_STDLIB_BASIC_TYPE_VA(stdlib_type, ...) \
38 template class stdlib_type<proof_system::StandardCircuitBuilder, __VA_ARGS__>;
39
40#define INSTANTIATE_STDLIB_ULTRA_METHOD(stdlib_method) \
41 template stdlib_method(proof_system::UltraCircuitBuilder); \
42 template stdlib_method(proof_system::GoblinUltraCircuitBuilder);
43
44#define INSTANTIATE_STDLIB_ULTRA_TYPE(stdlib_type) \
45 template class stdlib_type<proof_system::UltraCircuitBuilder>; \
46 template class stdlib_type<proof_system::GoblinUltraCircuitBuilder>;
47
48#define INSTANTIATE_STDLIB_ULTRA_TYPE_VA(stdlib_type, ...) \
49 template class stdlib_type<proof_system::UltraCircuitBuilder, __VA_ARGS__>; \
50 template class stdlib_type<proof_system::GoblinUltraCircuitBuilder, __VA_ARGS__>;
Contains all the headers required to adequately compile the types defined in circuit_builders_fwd....
Definition: circuit_builders.hpp:11
Definition: circuit_builders.hpp:15
Definition: circuit_builders.hpp:17
Definition: circuit_type.hpp:10