aboutsummaryrefslogtreecommitdiff
path: root/rand/rand_hc/src/hc128.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rand/rand_hc/src/hc128.rs')
-rw-r--r--rand/rand_hc/src/hc128.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/rand/rand_hc/src/hc128.rs b/rand/rand_hc/src/hc128.rs
index d1dadcc..a320f48 100644
--- a/rand/rand_hc/src/hc128.rs
+++ b/rand/rand_hc/src/hc128.rs
@@ -63,27 +63,26 @@ const SEED_WORDS: usize = 8; // 128 bit key followed by 128 bit iv
///
/// [^5]: Internet Engineering Task Force (February 2015),
/// ["Prohibiting RC4 Cipher Suites"](https://tools.ietf.org/html/rfc7465).
-///
-/// [`BlockRng`]: ../rand_core/block/struct.BlockRng.html
-/// [`RngCore`]: ../rand_core/trait.RngCore.html
#[derive(Clone, Debug)]
pub struct Hc128Rng(BlockRng<Hc128Core>);
impl RngCore for Hc128Rng {
- #[inline(always)]
+ #[inline]
fn next_u32(&mut self) -> u32 {
self.0.next_u32()
}
- #[inline(always)]
+ #[inline]
fn next_u64(&mut self) -> u64 {
self.0.next_u64()
}
+ #[inline]
fn fill_bytes(&mut self, dest: &mut [u8]) {
self.0.fill_bytes(dest)
}
+ #[inline]
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> {
self.0.try_fill_bytes(dest)
}
@@ -92,10 +91,12 @@ impl RngCore for Hc128Rng {
impl SeedableRng for Hc128Rng {
type Seed = <Hc128Core as SeedableRng>::Seed;
+ #[inline]
fn from_seed(seed: Self::Seed) -> Self {
Hc128Rng(BlockRng::<Hc128Core>::from_seed(seed))
}
+ #[inline]
fn from_rng<R: RngCore>(rng: R) -> Result<Self, Error> {
BlockRng::<Hc128Core>::from_rng(rng).map(Hc128Rng)
}
@@ -271,6 +272,7 @@ impl Hc128Core {
// Initialize an HC-128 random number generator. The seed has to be
// 256 bits in length (`[u32; 8]`), matching the 128 bit `key` followed by
// 128 bit `iv` when HC-128 where to be used as a stream cipher.
+ #[inline(always)] // single use: SeedableRng::from_seed
fn init(seed: [u32; SEED_WORDS]) -> Self {
#[inline]
fn f1(x: u32) -> u32 {