#![cfg(any(test, feature = "cpu-parity"))]
use super::POINTS_TO_EDGE_MASK;
use crate::bitset_closure_oracle::{csr_bitset_closure, CsrClosureDirection};
#[must_use]
#[deprecated(
note = "reference oracle only; production code must dispatch the Weir Program on a concrete GPU backend or use weir::oracle for parity evidence"
)]
pub(crate) fn cpu_subset_closure(
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
seed_bits: &[u32],
) -> Vec<u32> {
csr_bitset_closure(
"points_to_cpu_subset_closure",
node_count,
edge_offsets,
edge_targets,
edge_kind_mask,
seed_bits,
POINTS_TO_EDGE_MASK,
CsrClosureDirection::Forward,
)
}