Mescal
Loading...
Searching...
No Matches
monoid_display.h
1#ifndef _MONOID_DISPLAY_H_
2#define _MONOID_DISPLAY_H_
3
4#include <math.h>
5#include "monoid.h"
6#include "monoid_sub.h"
7#include "monoid_orbits.h"
8
9/* __ __ _ _ _ _ _ */
10/* | \/ | ___ _ __ _ __ | |__ (_)___ _ __ ___ ___ __| (_)___ _ __ | | __ _ _ _ */
11/* | |\/| |/ _ \| '__| '_ \| '_ \| / __| '_ ` _ \/ __| / _` | / __| '_ \| |/ _` | | | | */
12/* | | | | (_) | | | |_) | | | | \__ \ | | | | \__ \ | (_| | \__ \ |_) | | (_| | |_| | */
13/* |_| |_|\___/|_| | .__/|_| |_|_|___/_| |_| |_|___/ \__,_|_|___/ .__/|_|\__,_|\__, | */
14/* |_| |_| |___/ */
15
16
17/************/
18/* Elements */
19/************/
20
28uint mor_fprint_name_utf8(morphism*,
29 uint,
30 FILE*
31);
32
40int mor_sprint_name_utf8(morphism*,
41 uint,
42 char*
43);
44
45
50void mor_print_name_gviz(morphism*,
51 uint,
52 FILE*
53);
54
59void mor_fprint_name_utf8_aligned(morphism*,
60 uint,
61 uint,
62 FILE*
63);
64
75uint mor_max_name_size(morphism*,
76 dequeue*
77);
78
79uint mor_max_name_size_array(morphism*,
80 uint*,
81 uint size
82);
83
88void mor_print_sub(morphism*,
89 dequeue*,
90 FILE*
91);
92
97void mor_print_sub_array(morphism*,
98 uint*,
99 uint,
100 FILE*
101);
102
110void mor_print_sub_aligned(morphism*,
111 dequeue*,
112 uint,
113 uint,
114 FILE*
115);
116
124void mor_print_sub_array_aligned(morphism*,
125 uint*,
126 uint,
127 uint,
128 uint,
129 FILE*
130);
131
139void mor_print_sub_titled(morphism*,
140 dequeue*,
141 uint,
142 char*,
143 FILE*
144);
145
153void mor_print_sub_array_titled(morphism*,
154 uint*,
155 uint,
156 uint,
157 char*,
158 FILE*
159);
160
161
166void mor_print_mapping(morphism*,
167 FILE*
168);
169
170
175void mor_print_idems(morphism*,
176 FILE*
177);
178
183void mor_print_order(morphism*,
184 FILE*
185);
186
191void mor_mult_print(morphism*,
192 FILE*
193);
194
195
196// /**
197// * @brief
198// * Displays the idempotents in a subsemigroup.
199// */
200// void submono_print_idems(subsemi*, //!< The subsemigroup.
201// FILE* //!< The stream.
202// );
203
204// /**
205// * @brief
206// * Displays the ordering on the elements of a subsemigroup.
207// */
208// void submono_print_order(subsemi*, //!< The subsemigroup.
209// FILE* //!< The stream.
210// );
211
212
213
214/***********/
215/* Display */
216/***********/
217
222void print_infos_green(morphism*,
223 FILE*
224);
225
231void print_infos_green_sub(subsemi*,
232 FILE*
233);
234
235
236
241void print_jclass_green(morphism*,
242 uint,
243 uint,
244 FILE*
245);
246
251void print_jclass_subsemi(subsemi*,
252 uint,
253 uint,
254 FILE*
255);
256
261void print_full_green(morphism*,
262 bool,
263 FILE*
264);
265
270void print_full_subsemi(subsemi*,
271 FILE*
272);
273
274
279void view_morphism(morphism*,
280 FILE*
281);
282
283
288void print_one_orb(orbits*,
289 uint,
290 char*,
291 FILE*
292);
293
294
295
300void print_all_orbs(orbits*,
301 char*,
302 FILE*
303);
304
305
306
307#endif // _MONOID_DISPLAY_H_
Implementation of morphisms into finite monoids.
Computation of orbits.
Type used to represent a dequeue of unsigned integers.
Definition type_dequeue.h:26
The type used to represent a morphism into a finite monoid.
Definition monoid.h:91
Type used to represent C-orbits of a morphism.
Definition monoid_orbits.h:31
Type used to represent a subsemigroup and its Green relations.
Definition monoid_sub.h:35