vyre_reference/dual_impls/bitwise/clz/mod.rs
1/// Count-leading-zero dual implementation reference.
2pub mod reference {}
3
4/// Operation ID for count-leading-zero dual references.
5pub const OP_ID: &str = "primitive.bitwise.clz";
6
7/// Direct word-oriented count-leading-zero reference.
8pub mod reference_a {
9 /// Evaluate `leading_zeros` over one little-endian u32 input.
10 #[must_use]
11 pub fn reference(input: &[u8]) -> Vec<u8> {
12 super::super::common::unary_direct(input, u32::leading_zeros)
13 }
14}
15
16/// Independent bit-walk count-leading-zero reference.
17pub mod reference_b {
18 /// Count leading zero bits by walking from the most significant bit.
19 #[must_use]
20 pub fn reference(input: &[u8]) -> Vec<u8> {
21 super::super::common::clz_bits(input)
22 }
23}