|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
This class implements the execution of cycle group with an oracle to detect discrepancies. More...
#include <cycle_group.fuzzer.hpp>
Public Member Functions | |
| ExecutionHandler ()=default | |
| ExecutionHandler (ScalarField s, GroupElement g, cycle_group_t w_g) | |
| ExecutionHandler | operator_add (Builder *builder, const ExecutionHandler &other) |
| ExecutionHandler | operator_sub (Builder *builder, const ExecutionHandler &other) |
| Subtract two ExecutionHandlers, exploring different code paths for edge cases. | |
| ExecutionHandler | mul (Builder *builder, const ScalarField &multiplier) |
| ExecutionHandler | operator- () |
| ExecutionHandler | dbl () |
| ExecutionHandler | conditional_assign (Builder *builder, ExecutionHandler &other, const bool predicate) |
| void | assert_equal (Builder *builder, ExecutionHandler &other) |
| ExecutionHandler | set (Builder *builder) |
Static Public Member Functions | |
| static ExecutionHandler | batch_mul (Builder *builder, const std::vector< ExecutionHandler > &to_add, const std::vector< ScalarField > &to_mul) |
| static size_t | execute_CONSTANT (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the constant instruction (push constant cycle group to the stack) | |
| static size_t | execute_WITNESS (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the witness instruction (push witness cycle group to the stack) | |
| static size_t | execute_CONSTANT_WITNESS (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the constant_witness instruction (push a safeuint witness equal to the constant to the stack) | |
| static size_t | execute_DBL (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the DBL instruction. | |
| static size_t | execute_NEG (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the NEG instruction. | |
| static size_t | execute_ASSERT_EQUAL (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the ASSERT_EQUAL instruction. | |
| static size_t | execute_SET (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the SET instruction. | |
| static size_t | execute_ADD (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the addition operator instruction. | |
| static size_t | execute_SUBTRACT (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the subtraction operator instruction. | |
| static size_t | execute_COND_ASSIGN (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the COND_ASSIGN instruction. | |
| static size_t | execute_MULTIPLY (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the multiply instruction. | |
| static size_t | execute_BATCH_MUL (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the BATCH_MUL instruction. | |
| static size_t | execute_RANDOMSEED (Builder *builder, std::vector< ExecutionHandler > &stack, Instruction &instruction) |
| Execute the RANDOMSEED instruction. | |
Public Attributes | |
| ScalarField | base_scalar |
| GroupElement | base |
| cycle_group_t | cycle_group |
Private Member Functions | |
| cycle_group_t | cg () const |
| ExecutionHandler | handle_add_doubling_case (Builder *builder, const ExecutionHandler &other, const ScalarField &base_scalar_res, const GroupElement &base_res) |
| Handle addition when points are equal (requires doubling) | |
| ExecutionHandler | handle_add_infinity_case (const ExecutionHandler &other, const ScalarField &base_scalar_res, const GroupElement &base_res) |
| Handle addition when points are negations (result is point at infinity) | |
| ExecutionHandler | handle_add_normal_case (const ExecutionHandler &other, const ScalarField &base_scalar_res, const GroupElement &base_res) |
| Handle normal addition (no special edge cases) | |
| ExecutionHandler | handle_sub_doubling_case (Builder *builder, const ExecutionHandler &other, const ScalarField &base_scalar_res, const GroupElement &base_res) |
| Handle subtraction when points are negations: x - (-x) = 2x (doubling case) | |
| ExecutionHandler | handle_sub_infinity_case (const ExecutionHandler &other, const ScalarField &base_scalar_res, const GroupElement &base_res) |
| Handle subtraction when points are equal: x - x = 0 (point at infinity) | |
| ExecutionHandler | handle_sub_normal_case (const ExecutionHandler &other, const ScalarField &base_scalar_res, const GroupElement &base_res) |
| Handle normal subtraction case (no special edge cases) | |
Static Private Member Functions | |
| static bool_t | construct_predicate (Builder *builder, const bool predicate) |
This class implements the execution of cycle group with an oracle to detect discrepancies.
Definition at line 787 of file cycle_group.fuzzer.hpp.
|
default |
|
inline |
Definition at line 820 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 1087 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Definition at line 1024 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Definition at line 805 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 1078 of file cycle_group.fuzzer.hpp.
|
inlinestaticprivate |
Definition at line 789 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 1073 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the addition operator instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1350 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the ASSERT_EQUAL instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1286 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the BATCH_MUL instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1493 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the COND_ASSIGN instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1418 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the constant instruction (push constant cycle group to the stack)
| builder | |
| stack | |
| instruction |
Definition at line 1148 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the constant_witness instruction (push a safeuint witness equal to the constant to the stack)
| builder | |
| stack | |
| instruction |
Definition at line 1195 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the DBL instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1220 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the multiply instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1459 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the NEG instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1253 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the RANDOMSEED instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1547 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the SET instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1312 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the subtraction operator instruction.
| builder | |
| stack | |
| instruction |
Definition at line 1384 of file cycle_group.fuzzer.hpp.
|
inlinestatic |
Execute the witness instruction (push witness cycle group to the stack)
| builder | |
| stack | |
| instruction |
Definition at line 1170 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Handle addition when points are equal (requires doubling)
| builder | Circuit builder |
| other | The other execution handler |
| base_scalar_res | Result scalar for native computation |
| base_res | Result point for native computation |
Definition at line 835 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Handle addition when points are negations (result is point at infinity)
| builder | Circuit builder |
| other | The other execution handler |
| base_scalar_res | Result scalar for native computation |
| base_res | Result point for native computation |
Definition at line 864 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Handle normal addition (no special edge cases)
| other | The other execution handler |
| base_scalar_res | Result scalar for native computation |
| base_res | Result point for native computation |
Definition at line 886 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Handle subtraction when points are negations: x - (-x) = 2x (doubling case)
Definition at line 939 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Handle subtraction when points are equal: x - x = 0 (point at infinity)
Definition at line 962 of file cycle_group.fuzzer.hpp.
|
inlineprivate |
Handle normal subtraction case (no special edge cases)
Definition at line 972 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 1012 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 1066 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 916 of file cycle_group.fuzzer.hpp.
|
inline |
Subtract two ExecutionHandlers, exploring different code paths for edge cases.
Definition at line 998 of file cycle_group.fuzzer.hpp.
|
inline |
Definition at line 1101 of file cycle_group.fuzzer.hpp.
| GroupElement CycleGroupBase< Builder >::ExecutionHandler::base |
Definition at line 816 of file cycle_group.fuzzer.hpp.
| ScalarField CycleGroupBase< Builder >::ExecutionHandler::base_scalar |
Definition at line 815 of file cycle_group.fuzzer.hpp.
| cycle_group_t CycleGroupBase< Builder >::ExecutionHandler::cycle_group |
Definition at line 817 of file cycle_group.fuzzer.hpp.