1use std::collections::HashMap;
2
3use crate::variable::{Variable, VariableKey};
4
5#[derive(Debug)]
7pub struct Outputs {
8 defuzzificated_inferred_memberships: HashMap<VariableKey, f64>,
9 inferred_cf: f64,
10}
11
12impl Outputs {
13 pub(crate) fn new(defuzzificated_inferred_memberships: HashMap<VariableKey, f64>, inferred_cf: f64) -> Self {
14 Self {
15 defuzzificated_inferred_memberships,
16 inferred_cf,
17 }
18 }
19
20 pub fn get_inferred_membership<I>(&self, var: Variable<I>) -> Option<f64> {
21 self.defuzzificated_inferred_memberships.get(&var.0).copied()
22 }
23
24 pub fn inferred_cf(&self) -> f64 {
25 self.inferred_cf
26 }
27}