pub trait Poseidon2CircuitBuilder<C: Config> {
    // Required methods
    fn p2_permute_mut(&mut self, state: [Var<C::N>; 3]);
    fn p2_hash(&mut self, input: &[Felt<C::F>]) -> OuterDigestVariable<C>;
    fn p2_compress(
        &mut self,
        input: [OuterDigestVariable<C>; 2],
    ) -> OuterDigestVariable<C>;
    fn p2_babybear_permute_mut(&mut self, state: [Felt<C::F>; 16]);
    fn p2_babybear_hash(&mut self, input: &[Felt<C::F>]) -> [Felt<C::F>; 8];
}

Required Methods§

source

fn p2_permute_mut(&mut self, state: [Var<C::N>; 3])

source

fn p2_hash(&mut self, input: &[Felt<C::F>]) -> OuterDigestVariable<C>

source

fn p2_compress( &mut self, input: [OuterDigestVariable<C>; 2], ) -> OuterDigestVariable<C>

source

fn p2_babybear_permute_mut(&mut self, state: [Felt<C::F>; 16])

source

fn p2_babybear_hash(&mut self, input: &[Felt<C::F>]) -> [Felt<C::F>; 8]

Implementations on Foreign Types§

source§

impl<C: Config> Poseidon2CircuitBuilder<C> for Builder<C>

source§

fn p2_permute_mut(&mut self, state: [Var<C::N>; 3])

source§

fn p2_hash(&mut self, input: &[Felt<C::F>]) -> OuterDigestVariable<C>

source§

fn p2_compress( &mut self, input: [OuterDigestVariable<C>; 2], ) -> OuterDigestVariable<C>

source§

fn p2_babybear_permute_mut(&mut self, state: [Felt<C::F>; 16])

source§

fn p2_babybear_hash(&mut self, input: &[Felt<C::F>]) -> [Felt<C::F>; 8]

Implementors§