28
28
#include < vector> // for vector
29
29
30
30
// libsemigroups....
31
- #include < libsemigroups/present.hpp> // for Presentation
31
+ #include < libsemigroups/froidure-pin-base.hpp> // for FroidurePinBase
32
+ #include < libsemigroups/make-present.hpp> // for make
33
+ #include < libsemigroups/present.hpp> // for Presentation
32
34
33
35
// pybind11....
34
36
#include < pybind11/pybind11.h> // for class_, init, module
@@ -69,28 +71,21 @@ namespace libsemigroups {
69
71
py::overload_cast<size_type>(&Presentation<T>::alphabet))
70
72
.def (" alphabet" ,
71
73
py::overload_cast<T const &>(&Presentation<T>::alphabet))
72
- .def (" alphabet_from_rules" ,
73
- &Presentation<T>::alphabet_from_rules)
74
- .def (" letter" ,
75
- &Presentation<T>::letter)
76
- .def (" index" ,
77
- &Presentation<T>::index)
74
+ .def (" alphabet_from_rules" , &Presentation<T>::alphabet_from_rules)
75
+ .def (" letter" , &Presentation<T>::letter)
76
+ .def (" index" , &Presentation<T>::index)
78
77
.def (" contains_empty_word" ,
79
78
py::overload_cast<>(&Presentation<T>::contains_empty_word,
80
79
py::const_))
81
80
.def (" contains_empty_word" ,
82
81
py::overload_cast<bool >(&Presentation<T>::contains_empty_word))
83
- .def_readwrite (" rules" ,
84
- &Presentation<T>::rules)
82
+ .def_readwrite (" rules" , &Presentation<T>::rules)
85
83
.def (" validate_alphabet" ,
86
84
py::overload_cast<>(&Presentation<T>::validate_alphabet,
87
85
py::const_))
88
- .def (" validate_letter" ,
89
- &Presentation<T>::validate_letter)
90
- .def (" validate_rules" ,
91
- &Presentation<T>::validate_rules)
92
- .def (" validate" ,
93
- &Presentation<T>::validate)
86
+ .def (" validate_letter" , &Presentation<T>::validate_letter)
87
+ .def (" validate_rules" , &Presentation<T>::validate_rules)
88
+ .def (" validate" , &Presentation<T>::validate)
94
89
.def (" __repr__" , &presentation_repr<T>);
95
90
96
91
m.def (" add_rule" ,
@@ -114,6 +109,10 @@ namespace libsemigroups {
114
109
m.def (" reverse" , &presentation::reverse<T>);
115
110
m.def (" normalize_alphabet" , &presentation::normalize_alphabet<T>);
116
111
112
+ m.def (
113
+ " make_from_froidure_pin" ,
114
+ py::overload_cast<FroidurePinBase &>(&make<Presentation<word_type>>));
115
+
117
116
// TODO add make
118
117
}
119
118
} // namespace
0 commit comments