#include <translator_delta_range_constraint_relation.hpp>
|
| template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters > |
| static void | accumulate (ContainerOverSubrelations &accumulators, const AllEntities &in, const Parameters &, const FF &scaling_factor) |
| | Expression for the generalized permutation sort relation.
|
| |
template<typename FF_>
class bb::TranslatorDeltaRangeConstraintRelationImpl< FF_ >
Definition at line 12 of file translator_delta_range_constraint_relation.hpp.
◆ FF
◆ accumulate()
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
Expression for the generalized permutation sort relation.
The relation enforces 2 constraints on each of the ordered_range_constraints wires: 1) 2 sequential values are non-descending and have a difference of at most 3. This check is skipped at the real_last index (lagrange_real_last = 1) and in the ordered masking region (lagrange_ordered_masking = 1). 2) The value at the real_last index is 2¹⁴ - 1. TODO(https://github.com/AztecProtocol/barretenberg/issues/1607): This only enforces <254-bit range constraints, NOT strict <q checks. Values in [q, 2^254) pass verification, potentially creating inconsistency with native/Ultra verification which reject such aliased representations.
The delta constraint uses: not_last_or_masking = 1 - lagrange_real_last - lagrange_ordered_masking which equals 0 when checks should be skipped, and 1 when checks should be enforced. This works because lagrange_real_last and lagrange_ordered_masking have disjoint support.
- Parameters
-
| evals | transformed to evals + C(in(X)...)*scaling_factor |
| in | an std::array containing the fully extended Univariate edges. |
| parameters | contains beta, gamma, and public_input_delta, .... |
| scaling_factor | optional term to scale the evaluation before adding to evals. |
The relation enforces 2 constraints on each of the ordered_range_constraints wires: 1) 2 sequential values are non-descending and have a difference of at most 3. This check is skipped at the real_last index (lagrange_real_last = 1) and in the ordered masking region (lagrange_ordered_masking = 1). 2) The value at the real_last index is 2¹⁴ - 1.
- Parameters
-
| evals | transformed to evals + C(in(X)...)*scaling_factor |
| in | an std::array containing the fully extended Univariate edges. |
| parameters | contains beta, gamma, and public_input_delta, .... |
| scaling_factor | optional term to scale the evaluation before adding to evals. |
Definition at line 28 of file translator_delta_range_constraint_relation_impl.hpp.
◆ RELATION_LENGTH
◆ SUBRELATION_PARTIAL_LENGTHS
The documentation for this class was generated from the following files: