franklin_crypto::plonk::circuit::rescue

Trait PlonkCsSBox

Source
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§

Required Methods§

Source

fn apply_constraints<CS: ConstraintSystem<E>>( &self, cs: &mut CS, element: &Num<E>, force_no_custom_gates: bool, ) -> Result<Num<E>, SynthesisError>

Source

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.

Implementors§