Skip to main content

vyre_reference/dual_impls/bitwise/popcount/
reference.rs

1use crate::{dual_impls::common, workgroup::Memory};
2use vyre_primitives::Popcount;
3
4impl common::ReferenceEvaluator for Popcount {
5    fn evaluate(&self, inputs: &[Memory]) -> Result<Memory, common::EvalError> {
6        let input = common::one_input(inputs, "popcount")?;
7        Ok(common::scalar(
8            common::read_u32(input, "popcount")?.count_ones(),
9        ))
10    }
11}