AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
naming_conventions.h
1#ifndef PROBFD_PLUGINS_NAMING_CONVENTION_H
2#define PROBFD_PLUGINS_NAMING_CONVENTION_H
3
4#include <string>
5
6namespace probfd::cli {
7
8template <bool Bisimulation, bool Fret>
9std::string add_wrapper_algo_suffix(const std::string& str)
10{
11 if constexpr (!Bisimulation) {
12 if constexpr (!Fret) {
13 return str;
14 } else {
15 return str + "_fret";
16 }
17 } else {
18 if constexpr (!Fret) {
19 return str + "_bisim";
20 } else {
21 return str + "_bisim_fret";
22 }
23 }
24}
25
26template <bool Bisimulation, bool Fret>
27std::string add_mdp_type_to_option(const std::string& str)
28{
29 if constexpr (!Bisimulation) {
30 if constexpr (!Fret) {
31 return str;
32 } else {
33 return "q_" + str;
34 }
35 } else {
36 if constexpr (!Fret) {
37 return "b_" + str;
38 } else {
39 return "qb_" + str;
40 }
41 }
42}
43
44template <bool Bisimulation, bool Fret>
45std::string add_mdp_type_to_category(const std::string& str)
46{
47 if constexpr (!Bisimulation) {
48 if constexpr (!Fret) {
49 return str;
50 } else {
51 return "Q" + str;
52 }
53 } else {
54 if constexpr (!Fret) {
55 return "B" + str;
56 } else {
57 return "QB" + str;
58 }
59 }
60}
61
62} // namespace probfd::cli
63
64#endif