19 #ifndef SPOT_FASTTGBAALGOS_EC_CONCUREC_DEAD_SHARE_HH
20 # define SPOT_FASTTGBAALGOS_EC_CONCUREC_DEAD_SHARE_HH
27 #include "fasttgbaalgos/ec/ec.hh"
28 #include "fasttgbaalgos/ec/deadstore.hh"
29 #include "fasttgbaalgos/ec/lowlink_stack.hh"
30 #include "fasttgbaalgos/ec/lazycheck.hh"
32 #include "fasttgbaalgos/ec/concur/uf.hh"
33 #include "concur_ec_stat.hh"
35 #include "fasttgbaalgos/ec/opt/opt_tarjan_scc.hh"
36 #include "fasttgbaalgos/ec/opt/opt_dijkstra_scc.hh"
59 std::string option =
"");
73 virtual bool has_counterexample();
75 virtual std::string csv();
77 virtual std::chrono::milliseconds::rep get_elapsed_time();
79 virtual int nb_inserted();
85 std::chrono::time_point<std::chrono::system_clock>
start;
86 std::chrono::time_point<std::chrono::system_clock>
end;
107 std::string option =
"");
109 virtual bool check();
119 virtual void main ();
121 virtual bool has_counterexample();
123 virtual std::string csv()
128 virtual std::chrono::milliseconds::rep
131 auto elapsed_seconds = std::chrono::duration_cast
132 <std::chrono::milliseconds>(end-
start).count();
133 return elapsed_seconds;
136 virtual int nb_inserted()
145 std::chrono::time_point<std::chrono::system_clock>
start;
146 std::chrono::time_point<std::chrono::system_clock> end;
165 std::string option =
"-cs")
182 virtual std::string
csv();
210 int thread_number = 1,
211 DeadSharePolicy policy = FULL_TARJAN,
212 std::string option =
"");
225 virtual std::string csv();
236 std::vector<spot::concur_ec_stat*>
chk;
241 #endif // SPOT_FASTTGBAALGOS_EC_CONCUREC_DEAD_SHARE_HH
std::chrono::time_point< std::chrono::system_clock > end
start!
Definition: dead_share.hh:86
The class that will be used by thread performing a Tarjan SCC.
Definition: dead_share.hh:51
int stop
Stop the world variable.
Definition: dead_share.hh:237
int * stop_
the thread identifier
Definition: dead_share.hh:84
Definition: concur_ec_stat.hh:28
virtual void dfs_pop()
Pop states already explored.
This class act as an interface for all classes.
Definition: fasttgba_state.hh:30
int tn_
a reference to shared union find
Definition: dead_share.hh:83
instanciator * itor_
The instanciator.
Definition: dead_share.hh:232
concur_opt_tarjan_ec(instanciator *i, spot::uf *uf, int thread_number, int *stop, bool swarming, std::string option="-cs")
A constuctor.
Definition: dead_share.hh:160
virtual bool merge(fasttgba_state *d)
merge multiple states
Abstract class for states.
Definition: state.hh:40
virtual bool check()
Launch the emptiness check.
virtual bool check()
Launch the emptiness check.
Wrapper Launch all threads.
Definition: dead_share.hh:190
Compute the SCCs of a TGBA.
Definition: opt_tarjan_scc.hh:39
This is the Dijkstra SCC computation algorithm This class also include the optimisation for the live ...
Definition: opt_dijkstra_scc.hh:37
int tn_
The number of threads.
Definition: dead_share.hh:233
DeadSharePolicy policy_
The current policy to use.
Definition: dead_share.hh:234
DeadSharePolicy
The walk policy to be used by threads.
Definition: dead_share.hh:195
virtual bool dfs_update(fasttgba_state *s)
the update for backedges
virtual color get_color(const fasttgba_state *state)
Storage for counterexample found or not.
The class that will be used by thread performing a Dijkstra SCC.
Definition: dead_share.hh:99
std::vector< spot::concur_ec_stat * > chk
Local data for each threads.
Definition: dead_share.hh:236
std::chrono::time_point< std::chrono::system_clock > start
stop the world varibale
Definition: dead_share.hh:145
virtual void fastbacktrack()
Speed up the backtrack when the current state as been already marked dead by another thread...
virtual void dfs_pop()
Pop states already explored.
std::string extra_info_csv()
Get extra informations.
virtual void dfs_pop()
Pop states already explored.
virtual void dfs_push(fasttgba_state *q)
Push a new state to explore.
int make_cpt_
stop!
Definition: dead_share.hh:87
virtual void main()
the main procedure
spot::uf * uf_
The shared Union Find.
Definition: dead_share.hh:231
An emptiness based on the tarjan parallel computation algorithm above.
Definition: dead_share.hh:156
std::chrono::time_point< std::chrono::system_clock > start
stop the world varibale
Definition: dead_share.hh:85
virtual void dfs_push(fasttgba_state *q)
Push a new state to explore.
color
The color for a new State.
Definition: opt_dijkstra_scc.hh:72
virtual std::string csv()
Display the csv of for this thread.
virtual void main()
the main procedure
virtual bool dfs_update(fasttgba_state *s)
the update for backedges
int tn_
a reference to shared union find
Definition: dead_share.hh:143
std::chrono::milliseconds::rep max_diff
Elapse time between 2 stops.
Definition: dead_share.hh:235
virtual color get_color(const fasttgba_state *state)
Access the color of a state.
color
The color for a new State.
Definition: opt_tarjan_scc.hh:81