Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Remove VisitedPair::acceptance_pair
[simgrid.git] / src / mc / LivenessChecker.hpp
index cbb0f08..6988690 100644 (file)
@@ -12,6 +12,7 @@
 #include <string>
 #include <list>
 #include <memory>
+#include <vector>
 
 #include <simgrid_config.h>
 #include <xbt/base.h>
@@ -32,13 +33,13 @@ extern XBT_PRIVATE xbt_automaton_t property_automaton;
 
 struct XBT_PRIVATE Pair {
   int num = 0;
-  int search_cycle = 0;
+  bool search_cycle = false;
   std::shared_ptr<simgrid::mc::State> graph_state = nullptr; /* System state included */
   xbt_automaton_state_t automaton_state = nullptr;
-  simgrid::xbt::unique_ptr<s_xbt_dynar_t> atomic_propositions;
+  std::vector<int> atomic_propositions;
   int requests = 0;
   int depth = 0;
-  int exploration_started = 0;
+  bool exploration_started = false;
 
   Pair();
   ~Pair();
@@ -50,16 +51,15 @@ struct XBT_PRIVATE Pair {
 struct XBT_PRIVATE VisitedPair {
   int num = 0;
   int other_num = 0; /* Dot output for */
-  int acceptance_pair = 0;
   std::shared_ptr<simgrid::mc::State> graph_state = nullptr; /* System state included */
   xbt_automaton_state_t automaton_state = nullptr;
-  simgrid::xbt::unique_ptr<s_xbt_dynar_t> atomic_propositions;
+  std::vector<int> atomic_propositions;
   std::size_t heap_bytes_used = 0;
   int nb_processes = 0;
 
   VisitedPair(
     int pair_num, xbt_automaton_state_t automaton_state,
-    xbt_dynar_t atomic_propositions,
+    std::vector<int> const& atomic_propositions,
     std::shared_ptr<simgrid::mc::State> graph_state);
   ~VisitedPair();
 };
@@ -75,7 +75,7 @@ private:
   int main();
   void prepare();
   int compare(simgrid::mc::VisitedPair* state1, simgrid::mc::VisitedPair* state2);
-  simgrid::xbt::unique_ptr<s_xbt_dynar_t> getPropositionValues();
+  std::vector<int> getPropositionValues();
   std::shared_ptr<VisitedPair> insertAcceptancePair(simgrid::mc::Pair* pair);
   int insertVisitedPair(std::shared_ptr<VisitedPair> visited_pair, simgrid::mc::Pair* pair);
   void showAcceptanceCycle(std::size_t depth);