comet-rs 0.1.0

Rust eDSL for COMET: domain specific COMpiler for Extreme Targets
Documentation
use assert_cmd::Command;

const EX_DIR: &str = "./target/debug/examples/";

fn remove_whitespace(s: &str) -> String {
    s.chars().filter(|c| !c.is_whitespace()).collect()
}
fn compare_strings(a: &str, b: &str) {
    let a = remove_whitespace(a);
    let b = remove_whitespace(b);
    assert_eq!(a, b);
}

#[test]
fn dtranspose_eltwise_dense_dense() {
    let output = Command::new(EX_DIR.to_owned() + "dtranspose_eltwise_dense_dense").unwrap();
    compare_strings(
        &String::from_utf8_lossy(&output.stdout),
        "
    data = 
    6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,6.4,
    ",
    );
}

#[test]
fn dtranspose_mult_dense_dense() {
    let output = Command::new(EX_DIR.to_owned() + "dtranspose_mult_dense_dense").unwrap();
    compare_strings(
        &String::from_utf8_lossy(&output.stdout),
        "
    data = 
    12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,
    ",
    );
}

#[test]
fn sp_transpose_csr_eltwise_csr_csr() {
    let output = Command::new(EX_DIR.to_owned() + "sp_transpose_csr_eltwise_csr_csr").unwrap();
    compare_strings(
        &String::from_utf8_lossy(&output.stdout),
        "
    data = 
    5,
    data = 
    0,
    data = 
    0,2,4,5,7,9,
    data = 
    0,3,1,4,2,0,3,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    data = 
    1,5.74,4,13,9,5.74,16,13,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    ",
    );
}

#[test]
fn sp_transpose_csr_eltwise_csr_dense() {
    let output = Command::new(EX_DIR.to_owned() + "sp_transpose_csr_eltwise_csr_dense").unwrap();
    compare_strings(
        &String::from_utf8_lossy(&output.stdout),
        "
        data=
        2.3,6.9,0,0,0,0,9.2,0,11.5,0,0,0,0,0,13.8,4.6,0,0,0,16.1,
        ",
    );
}