binius_core::challenger

Trait CanObserve

pub trait CanObserve<T> {
    // Required method
    fn observe(&mut self, value: T);

    // Provided method
    fn observe_slice(&mut self, values: &[T])
       where T: Clone { ... }
}

Required Methods§

fn observe(&mut self, value: T)

Provided Methods§

fn observe_slice(&mut self, values: &[T])
where T: Clone,

Implementations on Foreign Types§

§

impl<'a, C, T> CanObserve<T> for &'a mut C
where C: CanObserve<T>,

§

fn observe(&mut self, value: T)

§

fn observe_slice(&mut self, values: &[T])
where T: Clone,

Implementors§

source§

impl<F1, Challenger, F2, PF2> CanObserve<PF2> for IsomorphicChallenger<F1, Challenger, F2>
where F1: Field + From<F2> + Into<F2>, F2: Field, PF2: PackedField<Scalar: ExtensionField<F2>>, Challenger: CanObserve<F1>,

§

impl<F, Inner> CanObserve<F> for SerializingChallenger32<F, Inner>
where F: PrimeField32, Inner: CanObserve<u8>,

§

impl<F, Inner> CanObserve<F> for SerializingChallenger64<F, Inner>
where F: PrimeField64, Inner: CanObserve<u8>,

source§

impl<F, P, H> CanObserve<Commitment<P>> for FieldChallenger<F, H>

§

impl<F, P, const N: usize, const WIDTH: usize, const RATE: usize> CanObserve<[F; N]> for DuplexChallenger<F, P, WIDTH, RATE>
where F: Copy, P: CryptographicPermutation<[F; WIDTH]>,

§

impl<F, P, const N: usize, const WIDTH: usize, const RATE: usize> CanObserve<Hash<F, F, N>> for DuplexChallenger<F, P, WIDTH, RATE>
where F: Copy, P: CryptographicPermutation<[F; WIDTH]>,

§

impl<F, P, const WIDTH: usize, const RATE: usize> CanObserve<Vec<Vec<F>>> for DuplexChallenger<F, P, WIDTH, RATE>
where F: Copy, P: CryptographicPermutation<[F; WIDTH]>,

§

impl<F, P, const WIDTH: usize, const RATE: usize> CanObserve<F> for DuplexChallenger<F, P, WIDTH, RATE>
where F: Copy, P: CryptographicPermutation<[F; WIDTH]>,

source§

impl<F, PE, Impl> CanObserve<PE> for FieldChallenger<F, Impl>
where F: BinaryField, PE: PackedExtension<F, PackedSubfield: PackedFieldIndexable>, PE::Scalar: ExtensionField<F>, Impl: FieldChallengerHelper<F>,

§

impl<F, PF, P, const WIDTH: usize, const RATE: usize> CanObserve<Vec<Vec<F>>> for MultiField32Challenger<F, PF, P, WIDTH, RATE>
where F: PrimeField32, PF: PrimeField, P: CryptographicPermutation<[PF; WIDTH]>,

§

impl<F, PF, P, const WIDTH: usize, const RATE: usize> CanObserve<F> for MultiField32Challenger<F, PF, P, WIDTH, RATE>
where F: PrimeField32, PF: PrimeField, P: CryptographicPermutation<[PF; WIDTH]>,

§

impl<F, PF, const N: usize, P, const WIDTH: usize, const RATE: usize> CanObserve<[F; N]> for MultiField32Challenger<F, PF, P, WIDTH, RATE>
where F: PrimeField32, PF: PrimeField, P: CryptographicPermutation<[PF; WIDTH]>,

§

impl<F, PF, const N: usize, P, const WIDTH: usize, const RATE: usize> CanObserve<Hash<F, PF, N>> for MultiField32Challenger<F, PF, P, WIDTH, RATE>
where F: PrimeField32, PF: PrimeField, P: CryptographicPermutation<[PF; WIDTH]>,

§

impl<F, const N: usize, Inner> CanObserve<Hash<F, u8, N>> for SerializingChallenger32<F, Inner>
where F: PrimeField32, Inner: CanObserve<u8>,

§

impl<F, const N: usize, Inner> CanObserve<Hash<F, u8, N>> for SerializingChallenger64<F, Inner>
where F: PrimeField64, Inner: CanObserve<u8>,

§

impl<F, const N: usize, Inner> CanObserve<Hash<F, u64, N>> for SerializingChallenger32<F, Inner>
where F: PrimeField32, Inner: CanObserve<u8>,

source§

impl<P, Challenger_> CanObserve<MerkleCap<P>> for TranscriptReader<Challenger_>
where Challenger_: Challenger, P: Clone, Self: CanObserve<P>,

source§

impl<P, Challenger_> CanObserve<MerkleCap<P>> for TranscriptWriter<Challenger_>
where P: Clone, Self: CanObserve<P>, Challenger_: Challenger,

source§

impl<P, Challenger_> CanObserve<P> for TranscriptReader<Challenger_>
where P: PackedField<Scalar: TowerField>, Challenger_: Challenger,

source§

impl<P, Challenger_> CanObserve<P> for TranscriptWriter<Challenger_>
where P: PackedField<Scalar: TowerField>, Challenger_: Challenger,

§

impl<T, H, const N: usize, const OUT_LEN: usize> CanObserve<[T; N]> for HashChallenger<T, H, OUT_LEN>
where T: Clone, H: CryptographicHasher<T, [T; OUT_LEN]>,

§

impl<T, H, const OUT_LEN: usize> CanObserve<T> for HashChallenger<T, H, OUT_LEN>
where T: Clone, H: CryptographicHasher<T, [T; OUT_LEN]>,