weirflow 0.1.0

GPU-first dataflow analysis primitives for Vyre and Santh compiler pipelines.
Documentation
use std::collections::BTreeSet;

#[test]
fn dfm_range_add_bounded_test() {
    let source = include_str!("df_micro/dfm_range_add_bounded.c");
    assert!(
        source.contains("EXPECTED_FACT: z = [15, 15]"),
        "fixture must carry the expected interval fact"
    );

    let x = (5i32, 5i32);
    let y = (10i32, 10i32);
    let z = (x.0 + y.0, x.1 + y.1);
    let mut facts = BTreeSet::new();
    facts.insert(format!("z = [{}, {}]", z.0, z.1));

    assert_eq!(
        facts,
        BTreeSet::from(["z = [15, 15]".to_string()]),
        "bounded addition must preserve exact singleton intervals"
    );
}