fuzzy_logic_engine_rs 0.9.0

Fuzzy logic inference engine library in Rust
Documentation
use fuzzy_logic_engine_rs::{
    membership::MembershipKind,
    term::Term,
    variable::{LinguisticVariable, Range},
};

#[test]
fn test_add_and_verify_and_find_term() {
    let mut var = LinguisticVariable::new(
        "temperature",
        Range {
            min: 0.0,
            max: 100.0,
        },
    );
    var.add_term(Term::new(
        "cold",
        MembershipKind::Triangle {
            a: 0.0,
            b: 0.0,
            c: 50.0,
        },
    ));
    var.add_term(Term::new(
        "hot",
        MembershipKind::Triangle {
            a: 50.0,
            b: 100.0,
            c: 100.0,
        },
    ));

    let cold = var.term("cold").unwrap();
    assert!((cold.degree(25.0) - 0.5).abs() < 1e-6);

    assert!(var.term("unknown").is_none());
}