Fix lints (#639)

This commit is contained in:
Artyom Pavlov
2025-01-20 17:29:33 +03:00
committed by GitHub
parent 01e79f7be1
commit 1146b9a118
4 changed files with 153 additions and 150 deletions

View File

@@ -17,7 +17,7 @@ jobs:
- uses: RustCrypto/actions/cargo-cache@master
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.82.0
toolchain: 1.84.0
components: clippy
- run: cargo clippy --all -- -D warnings

View File

@@ -149,12 +149,6 @@ pub fn f8_impl<M: Machine>(mach: M, state: &mut [vec128_storage; 8], data: *cons
];
}
dispatch!(mach, M, {
fn f8(state: &mut [vec128_storage; 8], data: *const u8) {
f8_impl(mach, state, data);
}
});
pub(crate) union Compressor {
cv: [vec128_storage; 8],
bytes: [u8; 128],
@@ -167,7 +161,14 @@ impl Compressor {
}
#[inline]
#[allow(unexpected_cfgs)] // TODO: remove after dependency on ppv-lite86 is eliminated
pub(crate) fn update(&mut self, data: &Array<u8, U64>) {
simd::dispatch!(mach, M, {
fn f8(state: &mut [vec128_storage; 8], data: *const u8) {
f8_impl(mach, state, data);
}
});
f8(unsafe { &mut self.cv }, data.as_ptr());
}

View File

@@ -601,7 +601,7 @@ pub const SHA1_DVS: [Info; 32] = [
#[inline]
pub const fn ubc_check(w: &[u32; 80]) -> u32 {
let mut mask: u32 = !0;
mask &= ((w[44] ^ w[45]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[44] ^ w[45]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_48_0_BIT
| DV_I_51_0_BIT
| DV_I_52_0_BIT
@@ -609,330 +609,332 @@ pub const fn ubc_check(w: &[u32; 80]) -> u32 {
| DV_II_46_0_BIT
| DV_II_50_0_BIT
| DV_II_51_0_BIT);
mask &= ((w[49] ^ w[50]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[49] ^ w[50]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_46_0_BIT
| DV_II_45_0_BIT
| DV_II_50_0_BIT
| DV_II_51_0_BIT
| DV_II_55_0_BIT
| DV_II_56_0_BIT);
mask &= ((w[48] ^ w[49]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[48] ^ w[49]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_45_0_BIT
| DV_I_52_0_BIT
| DV_II_49_0_BIT
| DV_II_50_0_BIT
| DV_II_54_0_BIT
| DV_II_55_0_BIT);
mask &= ((w[47] ^ w[50] >> 25) & (1 << 4)).wrapping_sub((1) << 4)
mask &= ((w[47] ^ (w[50] >> 25)) & (1 << 4)).wrapping_sub((1) << 4)
| !(DV_I_47_0_BIT
| DV_I_49_0_BIT
| DV_I_51_0_BIT
| DV_II_45_0_BIT
| DV_II_51_0_BIT
| DV_II_56_0_BIT);
mask &= ((w[47] ^ w[48]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[47] ^ w[48]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_44_0_BIT
| DV_I_51_0_BIT
| DV_II_48_0_BIT
| DV_II_49_0_BIT
| DV_II_53_0_BIT
| DV_II_54_0_BIT);
mask &= ((w[46] >> 4 ^ w[49] >> 29) & 1).wrapping_sub(1)
mask &= (((w[46] >> 4) ^ (w[49] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_46_0_BIT
| DV_I_48_0_BIT
| DV_I_50_0_BIT
| DV_I_52_0_BIT
| DV_II_50_0_BIT
| DV_II_55_0_BIT);
mask &= ((w[46] ^ w[47]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[46] ^ w[47]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_43_0_BIT
| DV_I_50_0_BIT
| DV_II_47_0_BIT
| DV_II_48_0_BIT
| DV_II_52_0_BIT
| DV_II_53_0_BIT);
mask &= ((w[45] >> 4 ^ w[48] >> 29) & 1).wrapping_sub(1)
mask &= (((w[45] >> 4) ^ (w[48] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_45_0_BIT
| DV_I_47_0_BIT
| DV_I_49_0_BIT
| DV_I_51_0_BIT
| DV_II_49_0_BIT
| DV_II_54_0_BIT);
mask &= ((w[45] ^ w[46]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[45] ^ w[46]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_49_0_BIT
| DV_I_52_0_BIT
| DV_II_46_0_BIT
| DV_II_47_0_BIT
| DV_II_51_0_BIT
| DV_II_52_0_BIT);
mask &= ((w[44] >> 4 ^ w[47] >> 29) & 1).wrapping_sub(1)
mask &= (((w[44] >> 4) ^ (w[47] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_44_0_BIT
| DV_I_46_0_BIT
| DV_I_48_0_BIT
| DV_I_50_0_BIT
| DV_II_48_0_BIT
| DV_II_53_0_BIT);
mask &= ((w[43] >> 4 ^ w[46] >> 29) & 1).wrapping_sub(1)
mask &= (((w[43] >> 4) ^ (w[46] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_43_0_BIT
| DV_I_45_0_BIT
| DV_I_47_0_BIT
| DV_I_49_0_BIT
| DV_II_47_0_BIT
| DV_II_52_0_BIT);
mask &= ((w[43] ^ w[44]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[43] ^ w[44]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_47_0_BIT
| DV_I_50_0_BIT
| DV_I_51_0_BIT
| DV_II_45_0_BIT
| DV_II_49_0_BIT
| DV_II_50_0_BIT);
mask &= ((w[42] >> 4 ^ w[45] >> 29) & 1).wrapping_sub(1)
mask &= (((w[42] >> 4) ^ (w[45] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_44_0_BIT
| DV_I_46_0_BIT
| DV_I_48_0_BIT
| DV_I_52_0_BIT
| DV_II_46_0_BIT
| DV_II_51_0_BIT);
mask &= ((w[41] >> 4 ^ w[44] >> 29) & 1).wrapping_sub(1)
mask &= (((w[41] >> 4) ^ (w[44] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_43_0_BIT
| DV_I_45_0_BIT
| DV_I_47_0_BIT
| DV_I_51_0_BIT
| DV_II_45_0_BIT
| DV_II_50_0_BIT);
mask &= ((w[40] ^ w[41]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[40] ^ w[41]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_44_0_BIT
| DV_I_47_0_BIT
| DV_I_48_0_BIT
| DV_II_46_0_BIT
| DV_II_47_0_BIT
| DV_II_56_0_BIT);
mask &= ((w[54] ^ w[55]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[54] ^ w[55]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_51_0_BIT | DV_II_47_0_BIT | DV_II_50_0_BIT | DV_II_55_0_BIT | DV_II_56_0_BIT);
mask &= ((w[53] ^ w[54]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[53] ^ w[54]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_50_0_BIT | DV_II_46_0_BIT | DV_II_49_0_BIT | DV_II_54_0_BIT | DV_II_55_0_BIT);
mask &= ((w[52] ^ w[53]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[52] ^ w[53]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_49_0_BIT | DV_II_45_0_BIT | DV_II_48_0_BIT | DV_II_53_0_BIT | DV_II_54_0_BIT);
mask &= ((w[50] ^ w[53] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[50] ^ (w[53] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_50_0_BIT | DV_I_52_0_BIT | DV_II_46_0_BIT | DV_II_48_0_BIT | DV_II_54_0_BIT);
mask &= ((w[50] ^ w[51]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[50] ^ w[51]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_47_0_BIT | DV_II_46_0_BIT | DV_II_51_0_BIT | DV_II_52_0_BIT | DV_II_56_0_BIT);
mask &= ((w[49] ^ w[52] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[49] ^ (w[52] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_49_0_BIT | DV_I_51_0_BIT | DV_II_45_0_BIT | DV_II_47_0_BIT | DV_II_53_0_BIT);
mask &= ((w[48] ^ w[51] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[48] ^ (w[51] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_48_0_BIT | DV_I_50_0_BIT | DV_I_52_0_BIT | DV_II_46_0_BIT | DV_II_52_0_BIT);
mask &= ((w[42] ^ w[43]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[42] ^ w[43]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_46_0_BIT | DV_I_49_0_BIT | DV_I_50_0_BIT | DV_II_48_0_BIT | DV_II_49_0_BIT);
mask &= ((w[41] ^ w[42]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[41] ^ w[42]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_45_0_BIT | DV_I_48_0_BIT | DV_I_49_0_BIT | DV_II_47_0_BIT | DV_II_48_0_BIT);
mask &= ((w[40] >> 4 ^ w[43] >> 29) & 1).wrapping_sub(1)
mask &= (((w[40] >> 4) ^ (w[43] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_44_0_BIT | DV_I_46_0_BIT | DV_I_50_0_BIT | DV_II_49_0_BIT | DV_II_56_0_BIT);
mask &= ((w[39] >> 4 ^ w[42] >> 29) & 1).wrapping_sub(1)
mask &= (((w[39] >> 4) ^ (w[42] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_43_0_BIT | DV_I_45_0_BIT | DV_I_49_0_BIT | DV_II_48_0_BIT | DV_II_55_0_BIT);
if mask & (DV_I_44_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT)
!= 0
{
mask &= ((w[38] >> 4 ^ w[41] >> 29) & 1).wrapping_sub(1)
mask &= (((w[38] >> 4) ^ (w[41] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_44_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT)
}
mask &= ((w[37] >> 4 ^ w[40] >> 29) & 1).wrapping_sub(1)
mask &= (((w[37] >> 4) ^ (w[40] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_43_0_BIT | DV_I_47_0_BIT | DV_II_46_0_BIT | DV_II_53_0_BIT | DV_II_55_0_BIT);
if mask & (DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_51_0_BIT | DV_II_56_0_BIT) != 0 {
mask &= ((w[55] ^ w[56]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[55] ^ w[56]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_51_0_BIT | DV_II_56_0_BIT)
}
if mask & (DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_50_0_BIT | DV_II_56_0_BIT) != 0 {
mask &= ((w[52] ^ w[55] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[52] ^ (w[55] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_50_0_BIT | DV_II_56_0_BIT)
}
if mask & (DV_I_51_0_BIT | DV_II_47_0_BIT | DV_II_49_0_BIT | DV_II_55_0_BIT) != 0 {
mask &= ((w[51] ^ w[54] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[51] ^ (w[54] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_51_0_BIT | DV_II_47_0_BIT | DV_II_49_0_BIT | DV_II_55_0_BIT)
}
if mask & (DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_52_0_BIT | DV_II_53_0_BIT) != 0 {
mask &= ((w[51] ^ w[52]) >> 29 & 1).wrapping_sub(1)
mask &= (((w[51] ^ w[52]) >> 29) & 1).wrapping_sub(1)
| !(DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_52_0_BIT | DV_II_53_0_BIT)
}
if mask & (DV_I_46_0_BIT | DV_I_49_0_BIT | DV_II_45_0_BIT | DV_II_48_0_BIT) != 0 {
mask &= ((w[36] >> 4 ^ w[40] >> 29) & 1).wrapping_sub(1)
mask &= (((w[36] >> 4) ^ (w[40] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_46_0_BIT | DV_I_49_0_BIT | DV_II_45_0_BIT | DV_II_48_0_BIT)
}
if mask & (DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_49_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[53] ^ w[56]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[53] ^ w[56]) >> 29) & 1)
| !(DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_49_0_BIT)
}
if mask & (DV_I_50_0_BIT | DV_II_46_0_BIT | DV_II_47_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[51] ^ w[54]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[51] ^ w[54]) >> 29) & 1)
| !(DV_I_50_0_BIT | DV_II_46_0_BIT | DV_II_47_0_BIT)
}
if mask & (DV_I_49_0_BIT | DV_I_51_0_BIT | DV_II_45_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[50] ^ w[52]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[50] ^ w[52]) >> 29) & 1)
| !(DV_I_49_0_BIT | DV_I_51_0_BIT | DV_II_45_0_BIT)
}
if mask & (DV_I_48_0_BIT | DV_I_50_0_BIT | DV_I_52_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[49] ^ w[51]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[49] ^ w[51]) >> 29) & 1)
| !(DV_I_48_0_BIT | DV_I_50_0_BIT | DV_I_52_0_BIT)
}
if mask & (DV_I_47_0_BIT | DV_I_49_0_BIT | DV_I_51_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[48] ^ w[50]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[48] ^ w[50]) >> 29) & 1)
| !(DV_I_47_0_BIT | DV_I_49_0_BIT | DV_I_51_0_BIT)
}
if mask & (DV_I_46_0_BIT | DV_I_48_0_BIT | DV_I_50_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[47] ^ w[49]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[47] ^ w[49]) >> 29) & 1)
| !(DV_I_46_0_BIT | DV_I_48_0_BIT | DV_I_50_0_BIT)
}
if mask & (DV_I_45_0_BIT | DV_I_47_0_BIT | DV_I_49_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[46] ^ w[48]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[46] ^ w[48]) >> 29) & 1)
| !(DV_I_45_0_BIT | DV_I_47_0_BIT | DV_I_49_0_BIT)
}
mask &= ((w[45] ^ w[47]) & (1 << 6)).wrapping_sub(1 << 6)
| !(DV_I_47_2_BIT | DV_I_49_2_BIT | DV_I_51_2_BIT);
if mask & (DV_I_44_0_BIT | DV_I_46_0_BIT | DV_I_48_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[45] ^ w[47]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[45] ^ w[47]) >> 29) & 1)
| !(DV_I_44_0_BIT | DV_I_46_0_BIT | DV_I_48_0_BIT)
}
mask &= ((w[44] ^ w[46]) >> 6 & 1).wrapping_sub(1)
mask &= (((w[44] ^ w[46]) >> 6) & 1).wrapping_sub(1)
| !(DV_I_46_2_BIT | DV_I_48_2_BIT | DV_I_50_2_BIT);
if mask & (DV_I_43_0_BIT | DV_I_45_0_BIT | DV_I_47_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[44] ^ w[46]) >> 29 & 1)
mask &= (0u32).wrapping_sub(((w[44] ^ w[46]) >> 29) & 1)
| !(DV_I_43_0_BIT | DV_I_45_0_BIT | DV_I_47_0_BIT)
}
mask &= (0u32).wrapping_sub((w[41] ^ w[42] >> 5) & (1 << 1))
mask &= (0u32).wrapping_sub((w[41] ^ (w[42] >> 5)) & (1 << 1))
| !(DV_I_48_2_BIT | DV_II_46_2_BIT | DV_II_51_2_BIT);
mask &= (0u32).wrapping_sub((w[40] ^ w[41] >> 5) & (1 << 1))
mask &= (0u32).wrapping_sub((w[40] ^ (w[41] >> 5)) & (1 << 1))
| !(DV_I_47_2_BIT | DV_I_51_2_BIT | DV_II_50_2_BIT);
if mask & (DV_I_44_0_BIT | DV_I_46_0_BIT | DV_II_56_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[40] ^ w[42]) >> 4 & 1)
mask &= (0u32).wrapping_sub(((w[40] ^ w[42]) >> 4) & 1)
| !(DV_I_44_0_BIT | DV_I_46_0_BIT | DV_II_56_0_BIT)
}
mask &= (0u32).wrapping_sub((w[39] ^ w[40] >> 5) & (1 << 1))
mask &= (0u32).wrapping_sub((w[39] ^ (w[40] >> 5)) & (1 << 1))
| !(DV_I_46_2_BIT | DV_I_50_2_BIT | DV_II_49_2_BIT);
if mask & (DV_I_43_0_BIT | DV_I_45_0_BIT | DV_II_55_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[39] ^ w[41]) >> 4 & 1)
mask &= (0u32).wrapping_sub(((w[39] ^ w[41]) >> 4) & 1)
| !(DV_I_43_0_BIT | DV_I_45_0_BIT | DV_II_55_0_BIT)
}
if mask & (DV_I_44_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[38] ^ w[40]) >> 4 & 1)
mask &= (0u32).wrapping_sub(((w[38] ^ w[40]) >> 4) & 1)
| !(DV_I_44_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT)
}
if mask & (DV_I_43_0_BIT | DV_II_53_0_BIT | DV_II_55_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[37] ^ w[39]) >> 4 & 1)
mask &= (0u32).wrapping_sub(((w[37] ^ w[39]) >> 4) & 1)
| !(DV_I_43_0_BIT | DV_II_53_0_BIT | DV_II_55_0_BIT)
}
mask &= (0u32).wrapping_sub((w[36] ^ w[37] >> 5) & (1 << 1))
mask &= (0u32).wrapping_sub((w[36] ^ (w[37] >> 5)) & (1 << 1))
| !(DV_I_47_2_BIT | DV_I_50_2_BIT | DV_II_46_2_BIT);
if mask & (DV_I_45_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT) != 0 {
mask &= ((w[35] >> 4 ^ w[39] >> 29) & 1).wrapping_sub(1)
mask &= (((w[35] >> 4) ^ (w[39] >> 29)) & 1).wrapping_sub(1)
| !(DV_I_45_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT)
}
if mask & (DV_I_48_0_BIT | DV_II_48_0_BIT) != 0 {
mask &=
(0u32).wrapping_sub((w[63] ^ w[64] >> 5) & (1 << 0)) | !(DV_I_48_0_BIT | DV_II_48_0_BIT)
mask &= (0u32).wrapping_sub((w[63] ^ (w[64] >> 5)) & (1 << 0))
| !(DV_I_48_0_BIT | DV_II_48_0_BIT)
}
if mask & (DV_I_45_0_BIT | DV_II_45_0_BIT) != 0 {
mask &=
(0u32).wrapping_sub((w[63] ^ w[64] >> 5) & (1 << 1)) | !(DV_I_45_0_BIT | DV_II_45_0_BIT)
mask &= (0u32).wrapping_sub((w[63] ^ (w[64] >> 5)) & (1 << 1))
| !(DV_I_45_0_BIT | DV_II_45_0_BIT)
}
if mask & (DV_I_47_0_BIT | DV_II_47_0_BIT) != 0 {
mask &=
(0u32).wrapping_sub((w[62] ^ w[63] >> 5) & (1 << 0)) | !(DV_I_47_0_BIT | DV_II_47_0_BIT)
mask &= (0u32).wrapping_sub((w[62] ^ (w[63] >> 5)) & (1 << 0))
| !(DV_I_47_0_BIT | DV_II_47_0_BIT)
}
if mask & (DV_I_46_0_BIT | DV_II_46_0_BIT) != 0 {
mask &=
(0u32).wrapping_sub((w[61] ^ w[62] >> 5) & (1 << 0)) | !(DV_I_46_0_BIT | DV_II_46_0_BIT)
mask &= (0u32).wrapping_sub((w[61] ^ (w[62] >> 5)) & (1 << 0))
| !(DV_I_46_0_BIT | DV_II_46_0_BIT)
}
mask &=
(0u32).wrapping_sub((w[61] ^ w[62] >> 5) & (1 << 2)) | !(DV_I_46_2_BIT | DV_II_46_2_BIT);
(0u32).wrapping_sub((w[61] ^ (w[62] >> 5)) & (1 << 2)) | !(DV_I_46_2_BIT | DV_II_46_2_BIT);
if mask & (DV_I_45_0_BIT | DV_II_45_0_BIT) != 0 {
mask &=
(0u32).wrapping_sub((w[60] ^ w[61] >> 5) & (1 << 0)) | !(DV_I_45_0_BIT | DV_II_45_0_BIT)
mask &= (0u32).wrapping_sub((w[60] ^ (w[61] >> 5)) & (1 << 0))
| !(DV_I_45_0_BIT | DV_II_45_0_BIT)
}
if mask & (DV_II_51_0_BIT | DV_II_54_0_BIT) != 0 {
mask &= ((w[58] ^ w[59]) >> 29 & 1).wrapping_sub(1) | !(DV_II_51_0_BIT | DV_II_54_0_BIT)
mask &= (((w[58] ^ w[59]) >> 29) & 1).wrapping_sub(1) | !(DV_II_51_0_BIT | DV_II_54_0_BIT)
}
if mask & (DV_II_50_0_BIT | DV_II_53_0_BIT) != 0 {
mask &= ((w[57] ^ w[58]) >> 29 & 1).wrapping_sub(1) | !(DV_II_50_0_BIT | DV_II_53_0_BIT)
mask &= (((w[57] ^ w[58]) >> 29) & 1).wrapping_sub(1) | !(DV_II_50_0_BIT | DV_II_53_0_BIT)
}
if mask & (DV_II_52_0_BIT | DV_II_54_0_BIT) != 0 {
mask &= ((w[56] ^ w[59] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[56] ^ (w[59] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_II_52_0_BIT | DV_II_54_0_BIT)
}
if mask & (DV_II_51_0_BIT | DV_II_52_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[56] ^ w[59]) >> 29 & 1) | !(DV_II_51_0_BIT | DV_II_52_0_BIT)
mask &=
(0u32).wrapping_sub(((w[56] ^ w[59]) >> 29) & 1) | !(DV_II_51_0_BIT | DV_II_52_0_BIT)
}
if mask & (DV_II_49_0_BIT | DV_II_52_0_BIT) != 0 {
mask &= ((w[56] ^ w[57]) >> 29 & 1).wrapping_sub(1) | !(DV_II_49_0_BIT | DV_II_52_0_BIT)
mask &= (((w[56] ^ w[57]) >> 29) & 1).wrapping_sub(1) | !(DV_II_49_0_BIT | DV_II_52_0_BIT)
}
if mask & (DV_II_51_0_BIT | DV_II_53_0_BIT) != 0 {
mask &= ((w[55] ^ w[58] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[55] ^ (w[58] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_II_51_0_BIT | DV_II_53_0_BIT)
}
if mask & (DV_II_50_0_BIT | DV_II_52_0_BIT) != 0 {
mask &= ((w[54] ^ w[57] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[54] ^ (w[57] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_II_50_0_BIT | DV_II_52_0_BIT)
}
if mask & (DV_II_49_0_BIT | DV_II_51_0_BIT) != 0 {
mask &= ((w[53] ^ w[56] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[53] ^ (w[56] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_II_49_0_BIT | DV_II_51_0_BIT)
}
mask &=
((w[51] ^ w[50] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_50_2_BIT | DV_II_46_2_BIT);
mask &= ((w[51] ^ (w[50] >> 5)) & (1 << 1)).wrapping_sub(1 << 1)
| !(DV_I_50_2_BIT | DV_II_46_2_BIT);
mask &= ((w[48] ^ w[50]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_50_2_BIT | DV_II_46_2_BIT);
if mask & (DV_I_51_0_BIT | DV_I_52_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[48] ^ w[55]) >> 29 & 1) | !(DV_I_51_0_BIT | DV_I_52_0_BIT)
mask &= (0u32).wrapping_sub(((w[48] ^ w[55]) >> 29) & 1) | !(DV_I_51_0_BIT | DV_I_52_0_BIT)
}
mask &= ((w[47] ^ w[49]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_49_2_BIT | DV_I_51_2_BIT);
mask &=
((w[48] ^ w[47] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_47_2_BIT | DV_II_51_2_BIT);
mask &= ((w[48] ^ (w[47] >> 5)) & (1 << 1)).wrapping_sub(1 << 1)
| !(DV_I_47_2_BIT | DV_II_51_2_BIT);
mask &= ((w[46] ^ w[48]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_48_2_BIT | DV_I_50_2_BIT);
mask &= ((w[47] ^ (w[46] >> 5)) & (1 << 1)).wrapping_sub(1 << 1)
| !(DV_I_46_2_BIT | DV_II_50_2_BIT);
mask &=
((w[47] ^ w[46] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_46_2_BIT | DV_II_50_2_BIT);
mask &=
(0u32).wrapping_sub((w[44] ^ w[45] >> 5) & (1 << 1)) | !(DV_I_51_2_BIT | DV_II_49_2_BIT);
(0u32).wrapping_sub((w[44] ^ (w[45] >> 5)) & (1 << 1)) | !(DV_I_51_2_BIT | DV_II_49_2_BIT);
mask &= ((w[43] ^ w[45]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_47_2_BIT | DV_I_49_2_BIT);
mask &= ((w[42] ^ w[44]) >> 6 & 1).wrapping_sub(1) | !(DV_I_46_2_BIT | DV_I_48_2_BIT);
mask &=
((w[43] ^ w[42] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_II_46_2_BIT | DV_II_51_2_BIT);
mask &=
((w[42] ^ w[41] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_51_2_BIT | DV_II_50_2_BIT);
mask &=
((w[41] ^ w[40] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_50_2_BIT | DV_II_49_2_BIT);
mask &= (((w[42] ^ w[44]) >> 6) & 1).wrapping_sub(1) | !(DV_I_46_2_BIT | DV_I_48_2_BIT);
mask &= ((w[43] ^ (w[42] >> 5)) & (1 << 1)).wrapping_sub(1 << 1)
| !(DV_II_46_2_BIT | DV_II_51_2_BIT);
mask &= ((w[42] ^ (w[41] >> 5)) & (1 << 1)).wrapping_sub(1 << 1)
| !(DV_I_51_2_BIT | DV_II_50_2_BIT);
mask &= ((w[41] ^ (w[40] >> 5)) & (1 << 1)).wrapping_sub(1 << 1)
| !(DV_I_50_2_BIT | DV_II_49_2_BIT);
if mask & (DV_I_52_0_BIT | DV_II_51_0_BIT) != 0 {
mask &= ((w[39] ^ w[43] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[39] ^ (w[43] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_52_0_BIT | DV_II_51_0_BIT)
}
if mask & (DV_I_51_0_BIT | DV_II_50_0_BIT) != 0 {
mask &= ((w[38] ^ w[42] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[38] ^ (w[42] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_51_0_BIT | DV_II_50_0_BIT)
}
if mask & (DV_I_48_2_BIT | DV_I_51_2_BIT) != 0 {
mask &=
(0u32).wrapping_sub((w[37] ^ w[38] >> 5) & (1 << 1)) | !(DV_I_48_2_BIT | DV_I_51_2_BIT)
mask &= (0u32).wrapping_sub((w[37] ^ (w[38] >> 5)) & (1 << 1))
| !(DV_I_48_2_BIT | DV_I_51_2_BIT)
}
if mask & (DV_I_50_0_BIT | DV_II_49_0_BIT) != 0 {
mask &= ((w[37] ^ w[41] >> 25) & (1 << 4)).wrapping_sub(1 << 4)
mask &= ((w[37] ^ (w[41] >> 25)) & (1 << 4)).wrapping_sub(1 << 4)
| !(DV_I_50_0_BIT | DV_II_49_0_BIT)
}
if mask & (DV_II_52_0_BIT | DV_II_54_0_BIT) != 0 {
mask &= (0u32).wrapping_sub((w[36] ^ w[38]) & (1 << 4)) | !(DV_II_52_0_BIT | DV_II_54_0_BIT)
}
mask &= (0u32).wrapping_sub((w[35] ^ w[36] >> 5) & (1 << 1)) | !(DV_I_46_2_BIT | DV_I_49_2_BIT);
mask &=
(0u32).wrapping_sub((w[35] ^ (w[36] >> 5)) & (1 << 1)) | !(DV_I_46_2_BIT | DV_I_49_2_BIT);
if mask & (DV_I_51_0_BIT | DV_II_47_0_BIT) != 0 {
mask &= ((w[35] ^ w[39] >> 25) & (1 << 3)).wrapping_sub(1 << 3)
mask &= ((w[35] ^ (w[39] >> 25)) & (1 << 3)).wrapping_sub(1 << 3)
| !(DV_I_51_0_BIT | DV_II_47_0_BIT)
}
if mask != 0 {
if mask & DV_I_43_0_BIT != 0
&& ((w[61] ^ w[62] >> 5) & (1 << 1) == 0
|| (w[59] ^ w[63] >> 25) & (1 << 5) != 0
|| (w[58] ^ w[63] >> 30) & (1 << 0) == 0)
&& ((w[61] ^ (w[62] >> 5)) & (1 << 1) == 0
|| (w[59] ^ (w[63] >> 25)) & (1 << 5) != 0
|| (w[58] ^ (w[63] >> 30)) & (1 << 0) == 0)
{
mask &= !DV_I_43_0_BIT
}
if mask & DV_I_44_0_BIT != 0
&& ((w[62] ^ w[63] >> 5) & (1 << 1) == 0
|| (w[60] ^ w[64] >> 25) & (1 << 5) != 0
|| (w[59] ^ w[64] >> 30) & (1 << 0) == 0)
&& ((w[62] ^ (w[63] >> 5)) & (1 << 1) == 0
|| (w[60] ^ (w[64] >> 25)) & (1 << 5) != 0
|| (w[59] ^ (w[64] >> 30)) & (1 << 0) == 0)
{
mask &= !DV_I_44_0_BIT
}
@@ -940,133 +942,133 @@ pub const fn ubc_check(w: &[u32; 80]) -> u32 {
mask &= !((w[40] ^ w[42]) >> 2) | !DV_I_46_2_BIT
}
if mask & DV_I_47_2_BIT != 0
&& ((w[62] ^ w[63] >> 5) & (1 << 2) == 0 || (w[41] ^ w[43]) & (1 << 6) != 0)
&& ((w[62] ^ (w[63] >> 5)) & (1 << 2) == 0 || (w[41] ^ w[43]) & (1 << 6) != 0)
{
mask &= !DV_I_47_2_BIT
}
if mask & DV_I_48_2_BIT != 0
&& ((w[63] ^ w[64] >> 5) & (1 << 2) == 0 || (w[48] ^ w[49] << 5) & (1 << 6) != 0)
&& ((w[63] ^ (w[64] >> 5)) & (1 << 2) == 0 || (w[48] ^ (w[49] << 5)) & (1 << 6) != 0)
{
mask &= !DV_I_48_2_BIT
}
if mask & DV_I_49_2_BIT != 0
&& ((w[49] ^ w[50] << 5) & (1 << 6) != 0
&& ((w[49] ^ (w[50] << 5)) & (1 << 6) != 0
|| (w[42] ^ w[50]) & (1 << 1) == 0
|| (w[39] ^ w[40] << 5) & (1 << 6) != 0
|| (w[39] ^ (w[40] << 5)) & (1 << 6) != 0
|| (w[38] ^ w[40]) & (1 << 1) == 0)
{
mask &= !DV_I_49_2_BIT
}
if mask & DV_I_50_0_BIT != 0 {
mask &= (w[36] ^ w[37]) << 7 | !DV_I_50_0_BIT
mask &= ((w[36] ^ w[37]) << 7) | !DV_I_50_0_BIT
}
if mask & DV_I_50_2_BIT != 0 {
mask &= (w[43] ^ w[51]) << 11 | !DV_I_50_2_BIT
mask &= ((w[43] ^ w[51]) << 11) | !DV_I_50_2_BIT
}
if mask & DV_I_51_0_BIT != 0 {
mask &= (w[37] ^ w[38]) << 9 | !DV_I_51_0_BIT
mask &= ((w[37] ^ w[38]) << 9) | !DV_I_51_0_BIT
}
if mask & DV_I_51_2_BIT != 0
&& ((w[51] ^ w[52] << 5) & (1 << 6) != 0
&& ((w[51] ^ (w[52] << 5)) & (1 << 6) != 0
|| (w[49] ^ w[51]) & (1 << 6) != 0
|| (w[37] ^ w[37] >> 5) & (1 << 1) != 0
|| (w[35] ^ w[39] >> 25) & (1 << 5) != 0)
|| (w[37] ^ (w[37] >> 5)) & (1 << 1) != 0
|| (w[35] ^ (w[39] >> 25)) & (1 << 5) != 0)
{
mask &= !DV_I_51_2_BIT
}
if mask & DV_I_52_0_BIT != 0 {
mask &= (w[38] ^ w[39]) << 11 | !DV_I_52_0_BIT
mask &= ((w[38] ^ w[39]) << 11) | !DV_I_52_0_BIT
}
if mask & DV_II_46_2_BIT != 0 {
mask &= (w[47] ^ w[51]) << 17 | !DV_II_46_2_BIT
mask &= ((w[47] ^ w[51]) << 17) | !DV_II_46_2_BIT
}
if mask & DV_II_48_0_BIT != 0
&& ((w[36] ^ w[40] >> 25) & (1 << 3) != 0 || (w[35] ^ w[40] << 2) & (1 << 30) == 0)
&& ((w[36] ^ (w[40] >> 25)) & (1 << 3) != 0 || (w[35] ^ (w[40] << 2)) & (1 << 30) == 0)
{
mask &= !DV_II_48_0_BIT
}
if mask & DV_II_49_0_BIT != 0
&& ((w[37] ^ w[41] >> 25) & (1 << 3) != 0 || (w[36] ^ w[41] << 2) & (1 << 30) == 0)
&& ((w[37] ^ (w[41] >> 25)) & (1 << 3) != 0 || (w[36] ^ (w[41] << 2)) & (1 << 30) == 0)
{
mask &= !DV_II_49_0_BIT
}
if mask & DV_II_49_2_BIT != 0
&& ((w[53] ^ w[54] << 5) & (1 << 6) != 0
&& ((w[53] ^ (w[54] << 5)) & (1 << 6) != 0
|| (w[51] ^ w[53]) & (1 << 6) != 0
|| (w[50] ^ w[54]) & (1 << 1) == 0
|| (w[45] ^ w[46] << 5) & (1 << 6) != 0
|| (w[37] ^ w[41] >> 25) & (1 << 5) != 0
|| (w[36] ^ w[41] >> 30) & (1 << 0) == 0)
|| (w[45] ^ (w[46] << 5)) & (1 << 6) != 0
|| (w[37] ^ (w[41] >> 25)) & (1 << 5) != 0
|| (w[36] ^ (w[41] >> 30)) & (1 << 0) == 0)
{
mask &= !DV_II_49_2_BIT
}
if mask & DV_II_50_0_BIT != 0
&& ((w[55] ^ w[58]) & (1 << 29) == 0
|| (w[38] ^ w[42] >> 25) & (1 << 3) != 0
|| (w[37] ^ w[42] << 2) & (1 << 30) == 0)
|| (w[38] ^ (w[42] >> 25)) & (1 << 3) != 0
|| (w[37] ^ (w[42] << 2)) & (1 << 30) == 0)
{
mask &= !DV_II_50_0_BIT
}
if mask & DV_II_50_2_BIT != 0
&& ((w[54] ^ w[55] << 5) & (1 << 6) != 0
&& ((w[54] ^ (w[55] << 5)) & (1 << 6) != 0
|| (w[52] ^ w[54]) & (1 << 6) != 0
|| (w[51] ^ w[55]) & (1 << 1) == 0
|| (w[45] ^ w[47]) & (1 << 1) == 0
|| (w[38] ^ w[42] >> 25) & (1 << 5) != 0
|| (w[37] ^ w[42] >> 30) & (1 << 0) == 0)
|| (w[38] ^ (w[42] >> 25)) & (1 << 5) != 0
|| (w[37] ^ (w[42] >> 30)) & (1 << 0) == 0)
{
mask &= !DV_II_50_2_BIT
}
if mask & DV_II_51_0_BIT != 0
&& ((w[39] ^ w[43] >> 25) & (1 << 3) != 0 || (w[38] ^ w[43] << 2) & (1 << 30) == 0)
&& ((w[39] ^ (w[43] >> 25)) & (1 << 3) != 0 || (w[38] ^ (w[43] << 2)) & (1 << 30) == 0)
{
mask &= !DV_II_51_0_BIT
}
if mask & DV_II_51_2_BIT != 0
&& ((w[55] ^ w[56] << 5) & (1 << 6) != 0
&& ((w[55] ^ (w[56] << 5)) & (1 << 6) != 0
|| (w[53] ^ w[55]) & (1 << 6) != 0
|| (w[52] ^ w[56]) & (1 << 1) == 0
|| (w[46] ^ w[48]) & (1 << 1) == 0
|| (w[39] ^ w[43] >> 25) & (1 << 5) != 0
|| (w[38] ^ w[43] >> 30) & (1 << 0) == 0)
|| (w[39] ^ (w[43] >> 25)) & (1 << 5) != 0
|| (w[38] ^ (w[43] >> 30)) & (1 << 0) == 0)
{
mask &= !DV_II_51_2_BIT
}
if mask & DV_II_52_0_BIT != 0
&& ((w[59] ^ w[60]) & (1 << 29) != 0
|| (w[40] ^ w[44] >> 25) & (1 << 3) != 0
|| (w[40] ^ w[44] >> 25) & (1 << 4) != 0
|| (w[39] ^ w[44] << 2) & (1 << 30) == 0)
|| (w[40] ^ (w[44] >> 25)) & (1 << 3) != 0
|| (w[40] ^ (w[44] >> 25)) & (1 << 4) != 0
|| (w[39] ^ (w[44] << 2)) & (1 << 30) == 0)
{
mask &= !DV_II_52_0_BIT
}
if mask & DV_II_53_0_BIT != 0
&& ((w[58] ^ w[61]) & (1 << 29) == 0
|| (w[57] ^ w[61] >> 25) & (1 << 4) != 0
|| (w[41] ^ w[45] >> 25) & (1 << 3) != 0
|| (w[41] ^ w[45] >> 25) & (1 << 4) != 0)
|| (w[57] ^ (w[61] >> 25)) & (1 << 4) != 0
|| (w[41] ^ (w[45] >> 25)) & (1 << 3) != 0
|| (w[41] ^ (w[45] >> 25)) & (1 << 4) != 0)
{
mask &= !DV_II_53_0_BIT
}
if mask & DV_II_54_0_BIT != 0
&& ((w[58] ^ w[62] >> 25) & (1 << 4) != 0
|| (w[42] ^ w[46] >> 25) & (1 << 3) != 0
|| (w[42] ^ w[46] >> 25) & (1 << 4) != 0)
&& ((w[58] ^ (w[62] >> 25)) & (1 << 4) != 0
|| (w[42] ^ (w[46] >> 25)) & (1 << 3) != 0
|| (w[42] ^ (w[46] >> 25)) & (1 << 4) != 0)
{
mask &= !DV_II_54_0_BIT
}
if mask & DV_II_55_0_BIT != 0
&& ((w[59] ^ w[63] >> 25) & (1 << 4) != 0
|| (w[57] ^ w[59] >> 25) & (1 << 4) != 0
|| (w[43] ^ w[47] >> 25) & (1 << 3) != 0
|| (w[43] ^ w[47] >> 25) & (1 << 4) != 0)
&& ((w[59] ^ (w[63] >> 25)) & (1 << 4) != 0
|| (w[57] ^ (w[59] >> 25)) & (1 << 4) != 0
|| (w[43] ^ (w[47] >> 25)) & (1 << 3) != 0
|| (w[43] ^ (w[47] >> 25)) & (1 << 4) != 0)
{
mask &= !DV_II_55_0_BIT
}
if mask & DV_II_56_0_BIT != 0
&& ((w[60] ^ w[64] >> 25) & (1 << 4) != 0
|| (w[44] ^ w[48] >> 25) & (1 << 3) != 0
|| (w[44] ^ w[48] >> 25) & (1 << 4) != 0)
&& ((w[60] ^ (w[64] >> 25)) & (1 << 4) != 0
|| (w[44] ^ (w[48] >> 25)) & (1 << 3) != 0
|| (w[44] ^ (w[48] >> 25)) & (1 << 4) != 0)
{
mask &= !DV_II_56_0_BIT
}

View File

@@ -39,7 +39,7 @@ fn lps(h: &mut [u64; 8], n: &[u64; 8]) {
#[allow(clippy::needless_range_loop)]
for i in 0..8 {
for j in 0..8 {
let idx = (h[j] >> (8 * i) & 0xff) as usize;
let idx = ((h[j] >> (8 * i)) & 0xff) as usize;
buf[i] ^= SHUFFLED_LIN_TABLE[j][idx];
}
}