mirror of
https://github.com/dalek-cryptography/ed25519-dalek.git
synced 2026-01-10 11:37:58 -05:00
Implement a ZeroDigest for use in benchmarks.
This commit is contained in:
@@ -493,6 +493,8 @@ mod test {
|
||||
|
||||
#[cfg(all(test, feature = "bench"))]
|
||||
mod bench {
|
||||
use generic_array::GenericArray;
|
||||
use generic_array::typenum::{U64, U128};
|
||||
use test::Bencher;
|
||||
use rand::OsRng;
|
||||
use super::*;
|
||||
@@ -516,6 +518,27 @@ mod bench {
|
||||
}
|
||||
}
|
||||
|
||||
/// A fake hash function which simply returns zeroes.
|
||||
struct ZeroDigest;
|
||||
|
||||
impl ZeroDigest {
|
||||
pub fn new() -> ZeroDigest {
|
||||
ZeroDigest
|
||||
}
|
||||
}
|
||||
|
||||
impl Digest for ZeroDigest {
|
||||
type OutputSize = U64;
|
||||
type BlockSize = U128;
|
||||
|
||||
fn input(&mut self, _input: &[u8]) { }
|
||||
fn result(self) -> GenericArray<u8, Self::OutputSize> { GenericArray::default() }
|
||||
}
|
||||
|
||||
impl Default for ZeroDigest {
|
||||
fn default() -> Self { Self::new() }
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn sign(b: &mut Bencher) {
|
||||
let mut cspring: OsRng = OsRng::new().unwrap();
|
||||
|
||||
Reference in New Issue
Block a user