openvm_native_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    AssertEqV,
28    AssertEqF,
29    AssertEqE,
30    Permute,
31    Num2BitsV,
32    Num2BitsF,
33    SelectV,
34    SelectF,
35    SelectE,
36    Ext2Felt,
37    PrintV,
38    PrintF,
39    PrintE,
40    WitnessV,
41    WitnessF,
42    WitnessE,
43    CommitVkeyHash,
44    CommitCommittedValuesDigest,
45    CircuitFelts2Ext,
46}