midnight_circuits/instructions/
native.rs1use super::{DivisionInstructions, RangeCheckInstructions};
17use crate::{
18 instructions::{
19 AssertionInstructions, BinaryInstructions, ComparisonInstructions, ControlFlowInstructions,
20 DecompositionInstructions, EqualityInstructions, FieldInstructions,
21 UnsafeConversionInstructions,
22 },
23 types::{AssignedBit, AssignedByte, AssignedNative},
24 CircuitField,
25};
26
27pub trait NativeInstructions<F>:
29 FieldInstructions<F, AssignedNative<F>>
30 + BinaryInstructions<F>
31 + AssertionInstructions<F, AssignedBit<F>>
32 + AssertionInstructions<F, AssignedByte<F>>
33 + EqualityInstructions<F, AssignedBit<F>>
34 + ControlFlowInstructions<F, AssignedBit<F>>
35 + DecompositionInstructions<F, AssignedNative<F>>
36 + ComparisonInstructions<F, AssignedNative<F>>
37 + RangeCheckInstructions<F, AssignedNative<F>>
38 + UnsafeConversionInstructions<F, AssignedNative<F>, AssignedByte<F>>
39 + DivisionInstructions<F, AssignedNative<F>>
40where
41 F: CircuitField,
42{
43}