Skip to main content

qualia_cli/handlers/
evaluate.rs

1use crate::cli::EvaluateModality;
2use crate::evaluate;
3
4pub fn handle(modality: &EvaluateModality) {
5    match modality {
6        EvaluateModality::Deontic {
7            dataset,
8            contract_hash,
9        } => {
10            evaluate::run_deontic(dataset, *contract_hash);
11        }
12        EvaluateModality::Epistemic {
13            dataset,
14            agent_hash,
15        } => {
16            evaluate::run_epistemic(dataset, *agent_hash);
17        }
18        EvaluateModality::Paraconsistent { dataset } => {
19            evaluate::run_paraconsistent(dataset);
20        }
21        EvaluateModality::Ltl {
22            dataset,
23            formula_type,
24            hash_a,
25            hash_b,
26        } => {
27            evaluate::run_ltl(dataset, formula_type, *hash_a, *hash_b);
28        }
29        EvaluateModality::Asp {
30            dataset,
31            base_index,
32        } => {
33            evaluate::run_asp(dataset, *base_index);
34        }
35        EvaluateModality::Dl {
36            dataset,
37            sub_class,
38            super_class,
39        } => {
40            evaluate::run_dl(dataset, *sub_class, *super_class);
41        }
42        EvaluateModality::Probabilistic { weight, threshold } => {
43            evaluate::run_probabilistic(*weight, *threshold);
44        }
45        EvaluateModality::LinearLogic {
46            dataset,
47            quin_index,
48        } => {
49            evaluate::run_linear_logic(dataset, *quin_index);
50        }
51        EvaluateModality::Dialectical {
52            dataset,
53            var1,
54            var2,
55        } => {
56            evaluate::run_dialectical(dataset, *var1, *var2);
57        }
58        EvaluateModality::Diffusion { graph_id } => {
59            evaluate::run_diffusion(graph_id);
60        }
61        EvaluateModality::SpatioTemporal {
62            action,
63            ax1,
64            ay1,
65            ax2,
66            ay2,
67            bx1,
68            by1,
69            bx2,
70            by2,
71        } => {
72            evaluate::run_spatio_temporal(action, *ax1, *ay1, *ax2, *ay2, *bx1, *by1, *bx2, *by2);
73        }
74        EvaluateModality::Interval {
75            action,
76            start1,
77            end1,
78            start2,
79            end2,
80            point,
81        } => {
82            evaluate::run_interval(action, *start1, *end1, *start2, *end2, *point);
83        }
84        EvaluateModality::GraphTopology { dataset, context } => {
85            evaluate::run_graph_topology(dataset, *context);
86        }
87        EvaluateModality::Argumentation { demo, dataset } => {
88            evaluate::run_argumentation(*demo, dataset.as_deref());
89        }
90        EvaluateModality::ControlFeedback {
91            kp,
92            ki,
93            kd,
94            setpoint,
95            measurement,
96        } => {
97            evaluate::run_control_feedback(*kp, *ki, *kd, *setpoint, *measurement);
98        }
99        EvaluateModality::NeuroSymbolic { demo: _ } => {
100            evaluate::run_neuro_symbolic();
101        }
102    }
103}