fuzzy_logic_engine_rs 0.7.4

Fuzzy logic inference engine library in Rust
Documentation
use crate::variable::Range;

#[derive(Debug)]
pub struct OutputResult {
    pub variable_name: String,
    pub range: Range,
    pub value: Vec<f64>,
    pub best_term: Option<String>,
    pub term_kind: Option<String>,
}

impl OutputResult {
    pub fn describe(&self) -> String {
        match (&self.best_term, &self.term_kind) {
            (Some(term), Some(kind)) => format!(
                "{} = {:?} in range [{:.1}, {:.1}] -> term '{}' ({})",
                self.variable_name, self.value, self.range.min, self.range.max, term, kind
            ),
            _ => format!(
                "{} = {:?} in range [{:.1}, {:.1}]",
                self.variable_name, self.value, self.range.min, self.range.max
            ),
        }
    }
}