sp1_recursion_compiler/constraints/
opcodes.rs

1use serde::{Deserialize, Serialize};
2
3/// Operations that can be constrained inside the circuit.
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub enum ConstraintOpcode {
6    ImmV,
7    ImmF,
8    ImmE,
9    AddV,
10    AddF,
11    AddE,
12    AddEF,
13    SubV,
14    SubF,
15    SubE,
16    SubEF,
17    MulV,
18    MulF,
19    MulE,
20    MulEF,
21    DivF,
22    DivE,
23    DivEF,
24    NegV,
25    NegF,
26    NegE,
27    InvV,
28    InvF,
29    InvE,
30    AssertEqV,
31    AssertEqF,
32    AssertEqE,
33    AssertNeF,
34    Permute,
35    Num2BitsV,
36    Num2BitsF,
37    SelectV,
38    SelectF,
39    SelectE,
40    Ext2Felt,
41    PrintV,
42    PrintF,
43    PrintE,
44    WitnessV,
45    WitnessF,
46    WitnessE,
47    CommitVkeyHash,
48    CommitCommitedValuesDigest,
49    CircuitFelts2Ext,
50    CircuitFelt2Var,
51    PermuteBabyBear,
52    ReduceE,
53}