p3_challenger

Trait FieldChallenger

Source
pub trait FieldChallenger<F: Field>:
    CanObserve<F>
    + CanSample<F>
    + CanSampleBits<usize>
    + Sync {
    // Provided methods
    fn observe_ext_element<EF: AbstractExtensionField<F>>(&mut self, ext: EF) { ... }
    fn sample_ext_element<EF: AbstractExtensionField<F>>(&mut self) -> EF { ... }
}

Provided Methods§

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.

Implementations on Foreign Types§

Source§

impl<'a, C, F: Field> FieldChallenger<F> for &'a mut C
where C: FieldChallenger<F>,

Implementors§

Source§

impl<F, Inner> FieldChallenger<F> for SerializingChallenger32<F, Inner>
where F: PrimeField32, Inner: CanSample<u8> + CanObserve<u8> + Clone + Send + Sync,

Source§

impl<F, Inner> FieldChallenger<F> for SerializingChallenger64<F, Inner>
where F: PrimeField64, Inner: CanSample<u8> + CanObserve<u8> + Clone + Send + Sync,

Source§

impl<F, P, const WIDTH: usize, const RATE: usize> FieldChallenger<F> for DuplexChallenger<F, P, WIDTH, RATE>

Source§

impl<F, PF, P, const WIDTH: usize, const RATE: usize> FieldChallenger<F> for MultiField32Challenger<F, PF, P, WIDTH, RATE>