Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
b581155e0c275cbf2feabb191c345b980808b5b7
[simgrid.git] / src / mc / mc_config.hpp
1 /* Copyright (c) 2018-2023. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef MC_CONFIG_HPP
7 #define MC_CONFIG_HPP
8
9 #include <xbt/config.hpp>
10
11 /********************************** Configuration of MC **************************************/
12 namespace simgrid::mc {
13 XBT_DECLARE_ENUM_CLASS(ReductionMode, none, dpor, sdpor, odpor);
14 XBT_DECLARE_ENUM_CLASS(ModelCheckingMode, NONE, APP_SIDE, CHECKER_SIDE, REPLAY);
15 ReductionMode get_model_checking_reduction(); // "model-check/reduction" == "DPOR"
16 XBT_PUBLIC ModelCheckingMode get_model_checking_mode();
17 XBT_PUBLIC void set_model_checking_mode(ModelCheckingMode mode);
18 }; // namespace simgrid::mc
19
20 extern XBT_PUBLIC simgrid::config::Flag<std::string> _sg_mc_buffering;
21 extern XBT_PRIVATE simgrid::config::Flag<int> _sg_mc_checkpoint;
22 extern XBT_PUBLIC simgrid::config::Flag<std::string> _sg_mc_property_file;
23 extern XBT_PUBLIC simgrid::config::Flag<bool> _sg_mc_comms_determinism;
24 extern XBT_PUBLIC simgrid::config::Flag<bool> _sg_mc_send_determinism;
25 extern XBT_PUBLIC simgrid::config::Flag<bool> _sg_mc_unfolding_checker;
26 extern XBT_PRIVATE simgrid::config::Flag<bool> _sg_mc_timeout;
27 extern XBT_PRIVATE simgrid::config::Flag<int> _sg_mc_max_depth;
28 extern XBT_PRIVATE simgrid::config::Flag<int> _sg_mc_random_seed;
29 extern "C" XBT_PUBLIC int _sg_mc_max_visited_states;
30 extern XBT_PRIVATE simgrid::config::Flag<std::string> _sg_mc_dot_output_file;
31 extern XBT_PRIVATE simgrid::config::Flag<bool> _sg_mc_termination;
32 extern XBT_PUBLIC simgrid::config::Flag<std::string> _sg_mc_strategy;
33
34 #endif