pub trait PlonkCsSBox<E: Engine>: SBox<E> {
const SHOULD_APPLY_FORWARD: bool;
// Required methods
fn apply_constraints<CS: ConstraintSystem<E>>(
&self,
cs: &mut CS,
element: &Num<E>,
force_no_custom_gates: bool,
) -> Result<Num<E>, SynthesisError>;
fn apply_constraints_in_reverse<CS: ConstraintSystem<E>>(
&self,
cs: &mut CS,
element: &Num<E>,
force_no_custom_gates: bool,
) -> Result<Num<E>, SynthesisError>;
}
Required Associated Constants§
const SHOULD_APPLY_FORWARD: bool
Required Methods§
fn apply_constraints<CS: ConstraintSystem<E>>( &self, cs: &mut CS, element: &Num<E>, force_no_custom_gates: bool, ) -> Result<Num<E>, SynthesisError>
fn apply_constraints_in_reverse<CS: ConstraintSystem<E>>( &self, cs: &mut CS, element: &Num<E>, force_no_custom_gates: bool, ) -> Result<Num<E>, SynthesisError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.