INNER CODE UNIT · Rust
h2
RustCrypto/stream-ciphers · hc-256/src/lib.rs:156
fn h2(&self, x: u32) -> u32 {
self.ptable[(x & 0xff) as usize]
.wrapping_add(self.ptable[(256 + ((x >> 8) & 0xff)) as usize])
.wrapping_add(self.ptable[(512 + ((x >> 16) & 0xff)) as usize])
.wrapping_add(self.ptable[(768 + ((x >> 24) & 0xff)) as usize])
}
fn gen_word(&mut self) -> u32 {
let i = self.idx as usize;
let j = self.idx as usize & TABLE_MASK;
self.idx = (self.idx + 1) & (2048 - 1);
if i < 1024 {
self.ptable[j] = self.ptable[j]
.wrapping_add(self.ptable[j.wrapping_sub(10) & TABLE_MASK])
.wrapping_add(self.g1(
self.ptable[j.wrapping_sub(3) & TABLE_MASK],