rustfs-erasure-codec 7.0.0

Rust implementation of Reed-Solomon erasure coding
Documentation
#[cfg(test)]
use rustfs_erasure_codec::galois_8::active_backend_name;

#[cfg(test)]
fn expected_backend_name(override_value: &str) -> Option<&str> {
    match override_value {
        "auto" => None,
        "scalar" | "scalar-rust" => Some("scalar-rust"),
        "simd-c" => Some("simd-c"),
        "rust-neon" => Some("rust-neon"),
        "rust-ssse3" => Some("rust-ssse3"),
        "rust-avx2" => Some("rust-avx2"),
        "rust-avx512" => Some("rust-avx512"),
        "rust-gfni-avx2" => Some("rust-gfni-avx2"),
        "rust-gfni-avx512" => Some("rust-gfni-avx512"),
        _ => None,
    }
}

#[cfg(test)]
#[allow(dead_code)]
pub fn override_honored() -> bool {
    let override_value =
        std::env::var("RSE_BACKEND_OVERRIDE").unwrap_or_else(|_| "auto".to_string());
    match expected_backend_name(override_value.trim()) {
        Some(expected) => active_backend_name() == expected,
        None => true,
    }
}

#[cfg(test)]
pub fn assert_backend_override_honored_if_strict() {
    if std::env::var_os("RSE_STRICT_BACKEND_OVERRIDE").is_none() {
        return;
    }

    let override_value =
        std::env::var("RSE_BACKEND_OVERRIDE").unwrap_or_else(|_| "auto".to_string());
    if let Some(expected) = expected_backend_name(override_value.trim()) {
        let actual = active_backend_name();
        assert_eq!(
            expected, actual,
            "requested backend override '{}' was not honored; actual backend was '{}'",
            override_value, actual
        );
    }
}