1919#include " main.hpp"
2020
2121// C std headers....
22- #include < stddef.h> // for size_t
23-
24- // C++ stl headers....
25- #include < initializer_list> // for initializer_list
22+ #include < cstddef> // for size_t
23+ #include < stdexcept>
2624
2725// libsemigroups....
2826#include < libsemigroups/config.hpp> // for LIBSEMIGROUPS_EIGEN_ENABLED
3937// pybind11....
4038#include < pybind11/operators.h> // for self, operator<, operator==, self_t
4139#include < pybind11/pybind11.h> // for module_, class_, enum_, init
42- #include < stdexcept>
4340
4441namespace libsemigroups {
4542 namespace py = pybind11;
4643
44+ // TODO move to separate fil
4745 bool ERROR_MESSAGE_WITH_PREFIX = false ;
4846
4947 void error_message_with_prefix (bool value) {
@@ -68,6 +66,7 @@ namespace libsemigroups {
6866 }
6967 }
7068
69+ // TODO move to separate fil
7170 // This has its own function so the py::options can be set for just this enum
7271 void init_tril (py::module & m) {
7372 py::options options;
@@ -99,6 +98,7 @@ The valid values are:
9998 }
10099
101100 PYBIND11_MODULE (_libsemigroups_pybind11, m) {
101+ // TODO move to separate file
102102 py::class_<Undefined>(m, " Undefined" )
103103 .def (" __repr__" ,
104104 [](Undefined const & val) -> std::string { return " UNDEFINED" ; })
@@ -193,64 +193,60 @@ The valid values are:
193193 });
194194
195195 // //////////////////////////////////////////////////////////////////////
196- // Classes
196+ // Classes that need to be initialised early
197197 // //////////////////////////////////////////////////////////////////////
198198
199199 init_reporter (m);
200200 init_runner (m);
201-
202- // //////////////////////////////////////////////////////////////////////
203- // Misc that needs to be initialised early
204- // //////////////////////////////////////////////////////////////////////
205-
206201 init_tril (m);
207202
208203 // //////////////////////////////////////////////////////////////////////
209- // Abstract classes that are required by other classes
204+ // Classes in (almost) alphabetical order
210205 // //////////////////////////////////////////////////////////////////////
211206
212- init_imagerightaction (m);
207+ init_detail_cong_common (m);
208+ init_detail_todd_coxeter_impl (m);
209+ init_detail_knuth_bendix_impl (m);
210+
213211 init_action (m);
214- init_bmat8 (m);
215212 init_aho_corasick (m);
216- init_blocks (m);
217213 init_bipart (m);
218- init_PBR (m);
214+ init_blocks (m);
215+ init_bmat8 (m);
216+ init_cong (m);
217+ init_dot (m);
219218 init_forest (m);
220219 init_freeband (m);
220+ init_froidure_pin_base (m); // Must be before init_froidure_pin
221+ init_froidure_pin (m);
221222 init_gabow (m);
222- init_order (m);
223+ init_imagerightaction (m);
224+ init_kambites (m);
225+ init_knuth_bendix (m);
226+ init_konieczny (m);
227+ init_matrix (m);
223228 init_obvinf (m);
229+ init_order (m);
224230 init_paths (m);
231+ init_pbr (m);
225232 init_present (m);
226- init_inverse_present (m);
227- init_to_present (m);
228- init_sims (m);
229- init_stephen (m);
230- init_transf (m);
233+ init_inverse_present (m); // Must be after init_present
234+ init_presentation_examples (m);
231235 init_ranges (m);
232- init_words (m);
233- init_word_graph (m);
234- init_dot (m);
235- init_matrix (m);
236- init_froidure_pin_base (m);
237- init_ukkonen (m);
238- init_froidure_pin (m);
239236 init_schreier_sims (m);
240- init_cong_intf (m);
241- init_todd_coxeter_base (m);
242- init_todd_coxeter (m);
243- init_kambites (m);
244- init_knuth_bendix_base (m);
245- init_knuth_bendix (m);
246- init_presentation_examples (m);
247- init_cong (m);
237+ init_sims (m);
238+ init_stephen (m);
239+ init_to_congruence (m);
248240 init_to_froidure_pin (m);
249- init_to_todd_coxeter (m);
250- init_to_present (m);
251241 init_to_knuth_bendix (m);
252- init_to_congruence (m);
253- init_konieczny (m);
242+ init_to_present (m);
243+ init_to_present (m);
244+ init_to_todd_coxeter (m);
245+ init_todd_coxeter (m);
246+ init_transf (m);
247+ init_ukkonen (m);
248+ init_word_graph (m);
249+ init_words (m);
254250
255251#ifdef VERSION_INFO
256252 m.attr (" __version__" ) = VERSION_INFO ;
@@ -413,7 +409,7 @@ default.
413409
414410 py::class_<LimitMax>(m, " LimitMax" )
415411 .def (" __repr__" ,
416- [](LimitMax const & val) -> std::string { return " < LIMIT_MAX> " ; })
412+ [](LimitMax const & val) -> std::string { return " LIMIT_MAX" ; })
417413 .def (pybind11::self < LimitMax ())
418414 .def (pybind11::self < int ())
419415 .def (int () < pybind11::self)
0 commit comments