std::shared_ptr<const std::vector<int>> LivenessChecker::get_proposition_values() const
{
- std::vector<int> values;
- unsigned int cursor = 0;
- xbt_automaton_propositional_symbol_t ps = nullptr;
- xbt_dynar_foreach (mc::property_automaton->propositional_symbols, cursor, ps)
- values.push_back(xbt_automaton_propositional_symbol_evaluate(ps));
+ auto values = mcapi::get().automaton_propositional_symbol_evaluate();
return std::make_shared<const std::vector<int>>(std::move(values));
}
}
#endif
+std::vector<int> mc_api::automaton_propositional_symbol_evaluate() const
+{
+ unsigned int cursor = 0;
+ std::vector<int> values;
+ xbt_automaton_propositional_symbol_t ps = nullptr;
+ xbt_dynar_foreach (mc::property_automaton->propositional_symbols, cursor, ps)
+ values.push_back(xbt_automaton_propositional_symbol_evaluate(ps));
+ return values;
+}
+
void mc_api::log_state() const
{
session->log_state();
void s_close() const;
void execute(Transition const& transition) const;
- // Global APIs
+ // AUTOMATION APIs
#if SIMGRID_HAVE_MC
void automaton_load(const char *file) const;
#endif
+ std::vector<int> automaton_propositional_symbol_evaluate() const;
};
} // namespace mc