weirflow 0.1.0

GPU-first dataflow analysis primitives for Vyre and Santh compiler pipelines.
Documentation
use super::*;
use vyre_primitives::graph::exploded::{decode_node, encode_node};

fn sort_triples(mut v: Vec<(u32, u32, u32)>) -> Vec<(u32, u32, u32)> {
    v.sort_unstable();
    v
}

fn reached_triples(node_ids: &[u32]) -> Vec<(u32, u32, u32)> {
    let mut out: Vec<(u32, u32, u32)> = node_ids.iter().copied().map(decode_node).collect();
    out.sort_unstable();
    out
}

#[path = "ifds_gpu_core_tests/cpu_semantics_contracts.rs"]
mod cpu_semantics_contracts;
#[path = "ifds_gpu_core_tests/rejection_contracts.rs"]
mod rejection_contracts;
#[path = "ifds_gpu_core_tests/prepared_reuse_contracts.rs"]
mod prepared_reuse_contracts;
#[path = "ifds_gpu_core_tests/scratch_reuse_contracts.rs"]
mod scratch_reuse_contracts;
#[path = "ifds_gpu_core_tests/csr_build_contracts.rs"]
mod csr_build_contracts;
#[path = "ifds_gpu_core_tests/shape_gpu_step_contracts.rs"]
mod shape_gpu_step_contracts;