Trait Foldable

Source
pub trait Foldable<F: Field> {
    // Required method
    fn combine(a: Self, b: Self, challenge: F) -> Self;
}

Required Methods§

Source

fn combine(a: Self, b: Self, challenge: F) -> Self

Combine two objects ‘a’ and ‘b’ into a new object using the challenge.

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§

Source§

impl<F: Field> Foldable<F> for Alphas<F>

Source§

impl<G: CommitmentCurve, I: Instance<G>> Foldable<<G as AffineRepr>::ScalarField> for ExtendedInstance<G, I>

Source§

impl<G: CommitmentCurve, I: Instance<G>> Foldable<<G as AffineRepr>::ScalarField> for RelaxedInstance<G, I>

A relaxed instance can be folded.

Source§

impl<G: CommitmentCurve, W: Witness<G>> Foldable<<G as AffineRepr>::ScalarField> for ExtendedWitness<G, W>

Source§

impl<G: CommitmentCurve, W: Witness<G>> Foldable<<G as AffineRepr>::ScalarField> for RelaxedWitness<G, W>

A relaxed/homogenized witness can be folded.