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.

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.