Trait neptune::BatchHasher

source ·
pub trait BatchHasher<F, A>
where F: PrimeField, A: Arity<F>,
{ // Required method fn hash( &mut self, preimages: &[GenericArray<F, A>], ) -> Result<Vec<F>, Error>; // Provided methods fn hash_into_slice( &mut self, target_slice: &mut [F], preimages: &[GenericArray<F, A>], ) -> Result<(), Error> { ... } fn max_batch_size(&self) -> usize { ... } }

Required Methods§

source

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

Provided Methods§

source

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

source

fn max_batch_size(&self) -> usize

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§

source§

impl<F, A> BatchHasher<F, A> for SimplePoseidonBatchHasher<F, A>
where F: PrimeField, A: Arity<F>,