Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : function to compare propositional symbol values
[simgrid.git] / src / mc / mc_liveness.c
index 480358f..f04cb31 100644 (file)
@@ -76,17 +76,16 @@ int reached(xbt_automaton_t a, mc_snapshot_t s){
     xbt_propositional_symbol_t ps = NULL;
     xbt_dynar_foreach(a->propositional_symbols, cursor, ps){
       int (*f)() = ps->function;
-      int res = (*f)();
+      const int res = (*f)();
       xbt_dynar_push(pair->prop_ato, &res);
     }
     
     cursor = 0;
     mc_pair_reached_t pair_test;
-    int (*compare_dynar)(const void*; const void*) = propositional_symbols_compare;
-    
+    //int (*compare_dynar)(const void*, const void*) = &propositional_symbols_compare_value;
     xbt_dynar_foreach(reached_pairs, cursor, pair_test){
       if(automaton_state_compare(pair_test->automaton_state, pair->automaton_state) == 0){
-       if(xbt_dynar_compare(pair_test->prop_ato, pair->prop_ato, compare_dynar) == 0){
+       if(xbt_dynar_compare(pair_test->prop_ato, pair->prop_ato, propositional_symbols_compare_value) == 0){
          if(snapshot_compare(pair_test->system_state, pair->system_state) == 0){
            MC_UNSET_RAW_MEM;
            return 1;
@@ -110,7 +109,7 @@ int set_pair_reached(xbt_automaton_t a, mc_snapshot_t s){
     mc_pair_reached_t pair = NULL;
     pair = xbt_new0(s_mc_pair_reached_t, 1);
     pair->automaton_state = a->current_state;
-    pair->prop_ato = xbt_dynar_new(sizeof(int), NULL);
+    pair->prop_ato = xbt_dynar_new(sizeof(const int), NULL);
     pair->system_state = s;
     
     /* Get values of propositional symbols */