pub fn dynamic_air_constraint_evaluation_tasm(
mem_layout: DynamicTasmConstraintEvaluationMemoryLayout,
) -> Vec<LabelledInstruction>
Expand description
The emitted Triton assembly has the following signature:
§Signature
BEFORE: _ *current_main_row *current_aux_row *next_main_row *next_aux_row
AFTER: _ *evaluated_constraints
§Requirements
In order for this method to emit Triton assembly, various memory regions need to be
declared. This is done through DynamicTasmConstraintEvaluationMemoryLayout
. The memory
layout must be integral.
§Guarantees
- The emitted code does not declare any labels.
- The emitted code is “straight-line”, i.e., does not contain any of the instructions
call
,return
,recurse
,recurse_or_return
, orskiz
. - The emitted code does not contain instruction
halt
. - All memory write access of the emitted code is within the bounds of the memory region
pointed to by
*free_memory_page
. *evaluated_constraints
points to an array ofXFieldElement
s of lengthNUM_CONSTRAINTS
. Each element is the evaluation of one constraint. In particular, the disjoint sequence of slices containingNUM_INITIAL_CONSTRAINTS
,NUM_CONSISTENCY_CONSTRAINTS
,NUM_TRANSITION_CONSTRAINTS
, andNUM_TERMINAL_CONSTRAINTS
(respectively and in this order) correspond to the evaluations of the initial, consistency, transition, and terminal constraints.