Trait neptune::BatchHasher[][src]

pub trait BatchHasher<A> where
    A: Arity<Scalar>, 
{ fn hash(
        &mut self,
        preimages: &[GenericArray<Scalar, A>]
    ) -> Result<Vec<Scalar>, Error>; fn hash_into_slice(
        &mut self,
        target_slice: &mut [Scalar],
        preimages: &[GenericArray<Scalar, A>]
    ) -> Result<(), Error> { ... }
fn max_batch_size(&self) -> usize { ... } }

Required methods

fn hash(
    &mut self,
    preimages: &[GenericArray<Scalar, A>]
) -> Result<Vec<Scalar>, Error>
[src]

Provided methods

fn hash_into_slice(
    &mut self,
    target_slice: &mut [Scalar],
    preimages: &[GenericArray<Scalar, A>]
) -> Result<(), Error>
[src]

fn max_batch_size(&self) -> usize[src]

max_batch_size is advisory. Implenters of BatchHasher should ensure that up to the returned max hashes can be safely performed on the target GPU (currently 2080Ti). The max returned should represent a safe batch size optimized for performance. BatchHasher users are responsible for not attempting to hash batches larger than the advised maximum.

Implementors

impl<A> BatchHasher<A> for SimplePoseidonBatchHasher<A> where
    A: Arity<Fr>, 
[src]

fn hash(&mut self, preimages: &[GenericArray<Fr, A>]) -> Result<Vec<Fr>, Error>[src]

fn max_batch_size(&self) -> usize[src]