Vcsn  2.4
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
registries.hh
Go to the documentation of this file.
1 // Generated, do not edit by hand.
2 
3 #pragma once
4 
5 #include <vector>
6 
7 #include <vcsn/algos/fwd.hh> // letter_class_t
8 #include <vcsn/dyn/fwd.hh> // dyn::automaton, etc.
9 #include <vcsn/dyn/name.hh> // integral_constant
10 #include <vcsn/dyn/types.hh> // identities, etc.
11 #include <vcsn/misc/export.hh> // LIBVCSN_API
12 #include <vcsn/misc/fwd.hh> // signature
13 
14 namespace vcsn
15 {
16  class automaton_editor;
17 }
18 
19 namespace vcsn { namespace dyn { namespace detail {
20 
21 #define REGISTRY_DECLARE(Name, Signature) \
22  using Name ## _t = auto Signature; \
23  LIBVCSN_API \
24  bool Name ## _register(const signature& sig, Name ## _t fn)
25 
26  // accessible (accessible.hh).
28  (const automaton& aut) -> automaton);
29 
30  // add (add.hh).
32  (const automaton& lhs, const automaton& rhs, const std::string& algo) -> automaton);
33 
34  // add_expansion (add.hh).
36  (const expansion& lhs, const expansion& rhs) -> expansion);
37 
38  // add_expression (add.hh).
40  (const expression& lhs, const expression& rhs) -> expression);
41 
42  // add_polynomial (add.hh).
44  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
45 
46  // add_weight (add.hh).
48  (const weight& lhs, const weight& rhs) -> weight);
49 
50  // ambiguous_word (is-ambiguous.hh).
52  (const automaton& aut) -> label);
53 
54  // are_equivalent (are-equivalent.hh).
56  (const automaton& aut1, const automaton& aut2) -> bool);
57 
58  // are_equivalent_expression (are-equivalent.hh).
60  (const expression& r1, const expression& r2) -> bool);
61 
62  // are_isomorphic (are-isomorphic.hh).
64  (const automaton& aut1, const automaton& aut2) -> bool);
65 
66  // cerny (cerny.hh).
68  (const context& ctx, unsigned num_states) -> automaton);
69 
70  // coaccessible (accessible.hh).
72  (const automaton& aut) -> automaton);
73 
74  // codeterminize (determinize.hh).
76  (const automaton& aut, const std::string& algo) -> automaton);
77 
78  // cominimize (minimize.hh).
80  (const automaton& aut, const std::string& algo) -> automaton);
81 
82  // complement (complement.hh).
84  (const automaton& aut) -> automaton);
85 
86  // complement_expansion (complement.hh).
88  (const expansion& xpn) -> expansion);
89 
90  // complement_expression (complement.hh).
92  (const expression& exp) -> expression);
93 
94  // complete (complete.hh).
96  (const automaton& aut) -> automaton);
97 
98  // component (scc.hh).
100  (const automaton& aut, unsigned num) -> automaton);
101 
102  // compose (compose.hh).
104  (const automaton& lhs, const automaton& rhs, bool lazy) -> automaton);
105 
106  // compose_expansion (compose-expression.hh).
108  (const expansion& lhs, const expansion& rhs) -> expansion);
109 
110  // compose_expression (compose-expression.hh).
112  (const expression& lhs, const expression& rhs) -> expression);
113 
114  // compose_polynomial (compose-expression.hh).
116  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
117 
118  // concatenate_expression (multiply.hh).
120  (const expression& lhs, const expression& rhs) -> expression);
121 
122  // condense (scc.hh).
124  (const automaton& aut) -> automaton);
125 
126  // conjugate (conjugate.hh).
128  (const automaton& a) -> automaton);
129 
130  // conjunction (conjunction.hh).
132  (const std::vector<automaton>& as, bool lazy) -> automaton);
133 
134  // conjunction_expansion (conjunction.hh).
136  (const expansion& lhs, const expansion& rhs) -> expansion);
137 
138  // conjunction_expression (conjunction.hh).
140  (const expression& lhs, const expression& rhs) -> expression);
141 
142  // conjunction_polynomial (conjunction.hh).
144  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
145 
146  // conjunction_repeated (conjunction.hh).
148  (const automaton& aut, unsigned n) -> automaton);
149 
150  // constant_term (constant-term.hh).
152  (const expression& exp) -> weight);
153 
154  // context_of (make-context.hh).
156  (const automaton& aut) -> context);
157 
158  // context_of_expansion (make-context.hh).
160  (const expansion& exp) -> context);
161 
162  // context_of_expression (make-context.hh).
164  (const expression& exp) -> context);
165 
166  // context_of_polynomial (make-context.hh).
168  (const polynomial& poly) -> context);
169 
170  // copy (copy.hh).
172  (const automaton& aut) -> automaton);
173 
174  // copy_convert (copy.hh).
176  (const automaton& aut, const context& ctx) -> automaton);
177 
178  // copy_expression (copy.hh).
180  (const expression& exp, const context& ctx, identities ids) -> expression);
181 
182  // costandard (standard.hh).
184  (const automaton& aut) -> automaton);
185 
186  // cotrie (trie.hh).
188  (const polynomial& poly) -> automaton);
189 
190  // cotrie_stream (trie.hh).
192  (const context& ctx, std::istream& is, const std::string& format) -> automaton);
193 
194  // de_bruijn (de-bruijn.hh).
196  (const dyn::context& ctx, unsigned n) -> automaton);
197 
198  // delay_automaton (is-synchronized.hh).
200  (const automaton& aut) -> automaton);
201 
202  // derivation (derivation.hh).
204  (const expression& exp, const label& lbl, bool breaking) -> polynomial);
205 
206  // derived_term (derived-term.hh).
208  (const expression& exp, const std::string& algo) -> automaton);
209 
210  // determinize (determinize.hh).
212  (const automaton& aut, const std::string& algo) -> automaton);
213 
214  // difference (are-equivalent.hh).
216  (const automaton& lhs, const automaton& rhs) -> automaton);
217 
218  // difference_expression (are-equivalent.hh).
220  (const expression& lhs, const expression& rhs) -> expression);
221 
222  // divkbaseb (divkbaseb.hh).
224  (const context& ctx, unsigned divisor, unsigned base) -> automaton);
225 
226  // double_ring (double-ring.hh).
228  (const context& ctx, unsigned n, const std::vector<unsigned>& finals) -> automaton);
229 
230  // eliminate_state (to-expression.hh).
232  (const automaton& aut, int state) -> automaton);
233 
234  // eval_polynomial (evaluate.hh).
236  (const automaton& aut, const polynomial& poly) -> weight);
237 
238  // evaluate (evaluate.hh).
240  (const automaton& aut, const label& lbl) -> weight);
241 
242  // expand (expand.hh).
244  (const expression& exp) -> expression);
245 
246  // expression_one (constant.hh).
248  (const context& ctx, identities ids) -> expression);
249 
250  // expression_zero (constant.hh).
252  (const context& ctx, identities ids) -> expression);
253 
254  // factor (prefix.hh).
256  (const automaton& aut) -> automaton);
257 
258  // filter (filter.hh).
260  (const automaton& aut, const std::vector<unsigned>& states) -> automaton);
261 
262  // focus (focus.hh).
265 
266  // has_bounded_lag (has-bounded-lag.hh).
268  (const automaton& aut) -> bool);
269 
270  // has_lightening_cycle (has-lightening-cycle.hh).
272  (const automaton& aut) -> bool);
273 
274  // has_twins_property (has-twins-property.hh).
276  (const automaton& aut) -> bool);
277 
278  // identities_of (identities-of.hh).
280  (const expression& exp) -> identities);
281 
282  // inductive (inductive.hh).
284  (const expression& exp, const std::string& algo) -> automaton);
285 
286  // infiltrate (conjunction.hh).
288  (const std::vector<automaton>& as) -> automaton);
289 
290  // infiltrate_expression (conjunction.hh).
292  (const expression& lhs, const expression& rhs) -> expression);
293 
294  // info (info.hh).
296  (const automaton& aut, std::ostream& out, unsigned details) -> std::ostream&);
297 
298  // info_expression (info.hh).
300  (const expression& exp, std::ostream& o) -> std::ostream&);
301 
302  // insplit (insplit.hh).
304  (const automaton& aut, bool lazy) -> automaton);
305 
306  // is_accessible (accessible.hh).
308  (const automaton& aut) -> bool);
309 
310  // is_ambiguous (is-ambiguous.hh).
312  (const automaton& aut) -> bool);
313 
314  // is_coaccessible (accessible.hh).
316  (const automaton& aut) -> bool);
317 
318  // is_codeterministic (is-deterministic.hh).
320  (const automaton& aut) -> bool);
321 
322  // is_complete (is-complete.hh).
324  (const automaton& aut) -> bool);
325 
326  // is_costandard (standard.hh).
328  (const automaton& aut) -> bool);
329 
330  // is_cycle_ambiguous (is-ambiguous.hh).
332  (const automaton& aut) -> bool);
333 
334  // is_deterministic (is-deterministic.hh).
336  (const automaton& aut) -> bool);
337 
338  // is_empty (accessible.hh).
340  (const automaton& aut) -> bool);
341 
342  // is_eps_acyclic (is-acyclic.hh).
344  (const automaton& aut) -> bool);
345 
346  // is_functional (is-functional.hh).
348  (const automaton& aut) -> bool);
349 
350  // is_letterized (letterize.hh).
352  (const automaton& aut) -> bool);
353 
354  // is_normalized (normalize.hh).
356  (const automaton& aut) -> bool);
357 
358  // is_out_sorted (sort.hh).
360  (const automaton& aut) -> bool);
361 
362  // is_partial_identity (is-partial-identity.hh).
364  (const automaton& aut) -> bool);
365 
366  // is_proper (is-proper.hh).
368  (const automaton& aut) -> bool);
369 
370  // is_realtime (letterize.hh).
372  (const automaton& aut) -> bool);
373 
374  // is_standard (standard.hh).
376  (const automaton& aut) -> bool);
377 
378  // is_synchronized (is-synchronized.hh).
380  (const automaton& aut) -> bool);
381 
382  // is_synchronized_by (synchronizing-word.hh).
384  (const automaton& aut, const label& word) -> bool);
385 
386  // is_synchronizing (synchronizing-word.hh).
388  (const automaton& aut) -> bool);
389 
390  // is_trim (accessible.hh).
392  (const automaton& aut) -> bool);
393 
394  // is_useless (accessible.hh).
396  (const automaton& aut) -> bool);
397 
398  // is_valid (is-valid.hh).
400  (const automaton& aut) -> bool);
401 
402  // is_valid_expression (is-valid-expression.hh).
404  (const expression& exp) -> bool);
405 
406  // join (make-context.hh).
408  (const context& c1, const context& c2) -> context);
409 
410  // ladybird (ladybird.hh).
412  (const dyn::context& ctx, unsigned n) -> automaton);
413 
414  // ldivide (conjunction.hh).
416  (const automaton& aut1, const automaton& aut2) -> automaton);
417 
418  // ldivide_expansion (divide.hh).
420  (const expansion& lhs, const expansion& rhs) -> expansion);
421 
422  // ldivide_expression (divide.hh).
424  (const expression& lhs, const expression& rhs) -> expression);
425 
426  // ldivide_label (divide.hh).
428  (const label& lhs, const label& rhs) -> label);
429 
430  // ldivide_polynomial (divide.hh).
432  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
433 
434  // ldivide_weight (divide.hh).
436  (const weight& lhs, const weight& rhs) -> weight);
437 
438  // less_than_expression (less-than.hh).
440  (const expression& lhs, const expression& rhs) -> bool);
441 
442  // letterize (letterize.hh).
444  (const automaton& aut) -> automaton);
445 
446  // levenshtein (levenshtein.hh).
448  (const dyn::context& ctx) -> automaton);
449 
450  // lgcd_polynomial (divide.hh).
452  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
453 
454  // lift_automaton (lift.hh).
456  (const automaton& aut, identities ids, integral_constant) -> automaton);
457 
458  // lift_expression (lift.hh).
460  (const expression& exp) -> expression);
461 
462  // lightest (lightest.hh).
464  (const automaton& aut, unsigned num, const std::string& algo) -> polynomial);
465 
466  // lightest_automaton (lightest-automaton.hh).
468  (const automaton& aut, unsigned k, const std::string& algo) -> automaton);
469 
470  // list_polynomial (print.hh).
472  (const polynomial& polynomial, std::ostream& o) -> std::ostream&);
473 
474  // lweight (weight.hh).
476  (const weight& weight, const automaton& aut, const std::string& algo) -> automaton);
477 
478  // lweight_expansion (weight.hh).
480  (const weight& weight, const expansion& exp) -> expansion);
481 
482  // lweight_expression (weight.hh).
484  (const weight& weight, const expression& exp) -> expression);
485 
486  // lweight_polynomial (weight.hh).
488  (const weight& weight, const polynomial& poly) -> polynomial);
489 
490  // make_automaton_editor (edit-automaton.hh).
492  (const context& ctx) -> automaton_editor*);
493 
494  // make_context (make-context.hh).
496  (const std::string& name) -> context);
497 
498  // make_word_context (make-context.hh).
500  (const context& ctx) -> context);
501 
502  // minimize (minimize.hh).
504  (const automaton& aut, const std::string& algo) -> automaton);
505 
506  // multiply (multiply.hh).
508  (const automaton& lhs, const automaton& rhs, const std::string& algo) -> automaton);
509 
510  // multiply_expression (multiply.hh).
512  (const expression& lhs, const expression& rhs) -> expression);
513 
514  // multiply_expression_repeated (multiply.hh).
516  (const expression& re, int min, int max) -> expression);
517 
518  // multiply_label (multiply.hh).
520  (const label& lhs, const label& rhs) -> label);
521 
522  // multiply_label_repeated (multiply.hh).
524  (const label& re, int exp) -> label);
525 
526  // multiply_polynomial (multiply.hh).
528  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
529 
530  // multiply_repeated (multiply.hh).
532  (const automaton& a, int min, int max, const std::string& algo) -> automaton);
533 
534  // multiply_weight (multiply.hh).
536  (const weight& lhs, const weight& rhs) -> weight);
537 
538  // multiply_weight_repeated (multiply.hh).
540  (const weight& wgt, int min, int max) -> weight);
541 
542  // normalize (normalize.hh).
544  (const automaton& aut) -> automaton);
545 
546  // num_components (scc.hh).
548  (const automaton& aut) -> std::size_t);
549 
550  // num_tapes (make-context.hh).
552  (const context& ctx) -> size_t);
553 
554  // pair (pair.hh).
556  (const automaton& aut, bool keep_initials) -> automaton);
557 
558  // partial_identity (partial-identity.hh).
560  (const automaton& aut) -> automaton);
561 
562  // partial_identity_expression (partial-identity-expression.hh).
564  (const expression& exp) -> expression);
565 
566  // prefix (prefix.hh).
568  (const automaton& aut) -> automaton);
569 
570  // print (print.hh).
572  (const automaton& aut, std::ostream& o, const std::string& fmt) -> std::ostream&);
573 
574  // print_context (print.hh).
576  (const context& ctx, std::ostream& o, const std::string& fmt) -> std::ostream&);
577 
578  // print_expansion (print.hh).
580  (const expansion& expansion, std::ostream& o, const std::string& fmt) -> std::ostream&);
581 
582  // print_expression (print.hh).
584  (const expression& exp, std::ostream& o, const std::string& fmt) -> std::ostream&);
585 
586  // print_label (print.hh).
588  (const label& label, std::ostream& o, const std::string& fmt) -> std::ostream&);
589 
590  // print_polynomial (print.hh).
592  (const polynomial& polynomial, std::ostream& o, const std::string& fmt) -> std::ostream&);
593 
594  // print_weight (print.hh).
596  (const weight& weight, std::ostream& o, const std::string& fmt) -> std::ostream&);
597 
598  // project (project-automaton.hh).
601 
602  // project_context (project.hh).
605 
606  // project_expansion (project.hh).
609 
610  // project_expression (project.hh).
613 
614  // project_label (project.hh).
616  (const label& lbl, integral_constant) -> label);
617 
618  // project_polynomial (project.hh).
621 
622  // proper (proper.hh).
624  (const automaton& aut, direction dir, bool prune, const std::string& algo) -> automaton);
625 
626  // push_weights (push-weights.hh).
628  (const automaton& aut) -> automaton);
629 
630  // quotkbaseb (quotkbaseb.hh).
632  (const context& ctx, unsigned divisor, unsigned base) -> automaton);
633 
634  // random_automaton (random-automaton.hh).
636  (const context& ctx, unsigned num_states, float density, unsigned num_initial, unsigned num_final, boost::optional<unsigned> max_labels, float loop_chance, const std::string& weights) -> automaton);
637 
638  // random_automaton_deterministic (random-automaton.hh).
640  (const context& ctx, unsigned num_states) -> automaton);
641 
642  // random_expression (random-expression.hh).
644  (const context& ctx, const std::string& param, identities ids) -> expression);
645 
646  // random_weight (random-weight.hh).
648  (const context& ctx, const std::string& param) -> weight);
649 
650  // rdivide (conjunction.hh).
652  (const automaton& aut1, const automaton& aut2) -> automaton);
653 
654  // rdivide_expression (divide.hh).
656  (const expression& lhs, const expression& rhs) -> expression);
657 
658  // rdivide_label (divide.hh).
660  (const label& lhs, const label& rhs) -> label);
661 
662  // rdivide_weight (divide.hh).
664  (const weight& lhs, const weight& rhs) -> weight);
665 
666  // read_label (read.hh).
668  (const context& ctx, std::istream& is, bool quoted) -> label);
669 
670  // read_polynomial (read.hh).
672  (const context& ctx, std::istream& is) -> polynomial);
673 
674  // read_weight (read.hh).
676  (const context& ctx, std::istream& is) -> weight);
677 
678  // realtime (letterize.hh).
680  (const automaton& aut) -> automaton);
681 
682  // reduce (reduce.hh).
684  (const automaton& aut) -> automaton);
685 
686  // rweight (weight.hh).
688  (const automaton& aut, const weight& weight, const std::string& algo) -> automaton);
689 
690  // rweight_expansion (weight.hh).
692  (const expansion& exp, const weight& weight) -> expansion);
693 
694  // rweight_expression (weight.hh).
696  (const expression& exp, const weight& weight) -> expression);
697 
698  // rweight_polynomial (weight.hh).
700  (const polynomial& poly, const weight& weight) -> polynomial);
701 
702  // scc (scc.hh).
704  (const automaton& aut, const std::string& algo) -> automaton);
705 
706  // shortest (shortest.hh).
708  (const automaton& aut, boost::optional<unsigned> num, boost::optional<unsigned> len) -> polynomial);
709 
710  // shuffle (conjunction.hh).
712  (const std::vector<automaton>& as) -> automaton);
713 
714  // shuffle_expression (conjunction.hh).
716  (const expression& lhs, const expression& rhs) -> expression);
717 
718  // sort (sort.hh).
720  (const automaton& aut) -> automaton);
721 
722  // split (split.hh).
724  (const expression& exp) -> polynomial);
725 
726  // split_polynomial (split.hh).
728  (const polynomial& poly) -> polynomial);
729 
730  // standard (standard.hh).
732  (const automaton& aut) -> automaton);
733 
734  // standard_expression (standard.hh).
736  (const expression& exp) -> automaton);
737 
738  // star (star.hh).
740  (const automaton& a, const std::string& algo) -> automaton);
741 
742  // star_height (star-height.hh).
744  (const expression& exp) -> unsigned);
745 
746  // star_normal_form (star-normal-form.hh).
748  (const expression& exp) -> expression);
749 
750  // strip (strip.hh).
752  (const automaton& aut) -> automaton);
753 
754  // subword (prefix.hh).
756  (const automaton& aut) -> automaton);
757 
758  // suffix (prefix.hh).
760  (const automaton& aut) -> automaton);
761 
762  // synchronize (synchronize.hh).
764  (const automaton& aut) -> automaton);
765 
766  // synchronizing_word (synchronizing-word.hh).
768  (const automaton& aut, const std::string& algo) -> label);
769 
770  // thompson (thompson.hh).
772  (const expression& exp) -> automaton);
773 
774  // to_expansion (to-expansion.hh).
776  (const expression& exp) -> expansion);
777 
778  // to_expression (to-expression.hh).
780  (const automaton& aut, identities ids, const std::string& algo) -> expression);
781 
782  // to_expression_class (to-expression.hh).
784  (const context& ctx, identities ids, const letter_class_t& letters, bool accept) -> expression);
785 
786  // to_expression_label (to-expression.hh).
788  (const context& ctx, identities ids, const label& lbl) -> expression);
789 
790  // transpose (transpose.hh).
792  (automaton& aut) -> automaton);
793 
794  // transpose_expression (transpose.hh).
796  (const expression& exp) -> expression);
797 
798  // transposition_expression (transpose.hh).
800  (const expression& exp) -> expression);
801 
802  // trie (trie.hh).
804  (const polynomial& poly) -> automaton);
805 
806  // trie_stream (trie.hh).
808  (const context& ctx, std::istream& is, const std::string& format) -> automaton);
809 
810  // trim (accessible.hh).
812  (const automaton& aut) -> automaton);
813 
814  // tuple (tuple-automaton.hh).
816  (const std::vector<automaton>& as) -> automaton);
817 
818  // tuple_context (tuple.hh).
820  (const std::vector<context>& cs) -> context);
821 
822  // tuple_expansion (tuple.hh).
824  (const std::vector<expansion>& es) -> expansion);
825 
826  // tuple_expression (tuple.hh).
828  (const std::vector<expression>& es) -> expression);
829 
830  // tuple_polynomial (tuple.hh).
832  (const std::vector<polynomial>& ps) -> polynomial);
833 
834  // u (u.hh).
836  (const context& ctx, unsigned n) -> automaton);
837 
838  // universal (universal.hh).
840  (const automaton& aut) -> automaton);
841 
842  // weight_one (constant.hh).
844  (const context& ctx) -> weight);
845 
846  // weight_series (weight-series.hh).
848  (const automaton& aut) -> weight);
849 
850  // weight_zero (constant.hh).
852  (const context& ctx) -> weight);
853 
854  // zpc (zpc.hh).
856  (const expression& exp, const std::string& algo) -> automaton);
857 
858 
859 #undef REGISTRY_DECLARE
860 }}}
bool is_letterized(const automaton &aut)
Bridge.
Definition: letterize.hh:201
automaton costandard(const automaton &aut)
Bridge.
Definition: standard.hh:148
automaton complement(const automaton &aut)
Bridge.
Definition: complement.hh:63
automaton thompson(const expression &exp)
Bridge.
Definition: thompson.hh:215
automaton partial_identity(const automaton &aut)
Bridge.
polynomial split(const expression &exp)
Bridge.
Definition: split.hh:275
label multiply_label(const label &lhs, const label &rhs)
Bridge (multiply).
Definition: multiply.hh:429
Abstract Builder (the design pattern) for automata.
std::set< std::pair< std::string, std::string >> letter_class_t
A set of letter ranges.
Definition: fwd.hh:111
automaton lift_automaton(const automaton &aut, identities ids, integral_constant)
Bridge.
Definition: lift.hh:260
label project_label(const label &lbl, integral_constant)
Bridge (project).
Definition: project.hh:154
label read_label(const context &ctx, std::istream &is, bool quoted)
Bridge.
Definition: read.hh:31
bool is_synchronized_by(const automaton &aut, const label &word)
Bridge.
automaton component(const automaton &aut, unsigned num)
Bridge.
Definition: scc.hh:771
automaton eliminate_state(const automaton &aut, int state)
Bridge.
expression transpose_expression(const expression &exp)
Bridge (transpose).
Definition: transpose.hh:292
A simple placeholder for integral constants.
Definition: name.hh:196
bool is_out_sorted(const automaton &aut)
Bridge.
Definition: sort.hh:75
weight read_weight(const context &ctx, std::istream &is)
Bridge.
Definition: read.hh:90
bool has_twins_property(const automaton &aut)
Bridge.
label ldivide_label(const label &lhs, const label &rhs)
Bridge (ldivide).
Definition: divide.hh:52
context project_context(const context &ctx, integral_constant)
Bridge (project).
Definition: project.hh:23
expression concatenate_expression(const expression &lhs, const expression &rhs)
Bridge (concatenate).
Definition: multiply.hh:312
bool are_isomorphic(const automaton &aut1, const automaton &aut2)
Bridge.
automaton codeterminize(const automaton &aut, const std::string &algo)
Bridge.
Definition: determinize.hh:430
expression shuffle_expression(const expression &lhs, const expression &rhs)
Bridge (shuffle).
Definition: conjunction.hh:842
auto out(const Aut &aut, state_t_of< Aut > s)
Indexes of visible transitions leaving state s.
Definition: automaton.hh:85
automaton cominimize(const automaton &aut, const std::string &algo)
Bridge.
Definition: minimize.hh:196
automaton infiltrate(const std::vector< automaton > &as)
Bridge (infiltrate).
Definition: conjunction.hh:897
automaton lweight(const weight &weight, const automaton &aut, const std::string &algo)
Bridge.
Definition: weight.hh:149
bool is_eps_acyclic(const automaton &aut)
Bridge.
Definition: is-acyclic.hh:145
bool is_codeterministic(const automaton &aut)
Bridge.
bool is_trim(const automaton &aut)
Bridge.
Definition: accessible.hh:251
expression difference_expression(const expression &lhs, const expression &rhs)
Bridge (difference).
automaton insplit(const automaton &aut, bool lazy)
Bridge.
Definition: insplit.hh:303
bool has_lightening_cycle(const automaton &aut)
Bridge.
expression random_expression(const context &ctx, const std::string &param, identities ids)
Bridge.
expansion conjunction_expansion(const expansion &lhs, const expansion &rhs)
Bridge (conjunction).
expression compose_expression(const expression &lhs, const expression &rhs)
Bridge (compose).
automaton focus(const automaton &aut, integral_constant)
Bridge.
Definition: focus.hh:340
automaton trie(const polynomial &poly)
Bridge.
Definition: trie.hh:242
automaton derived_term(const expression &exp, const std::string &algo)
Bridge.
Definition: a-star.hh:8
automaton synchronize(const automaton &aut)
Bridge.
Definition: synchronize.hh:362
automaton random_automaton_deterministic(const context &ctx, unsigned num_states)
Bridge.
polynomial lightest(const automaton &aut, unsigned num, const std::string &algo)
Bridge.
Definition: lightest.hh:227
expansion compose_expansion(const expansion &lhs, const expansion &rhs)
Bridge (compose).
automaton ladybird(const dyn::context &ctx, unsigned n)
Bridge.
Definition: ladybird.hh:54
automaton star(const automaton &a, const std::string &algo)
Bridge.
Definition: star.hh:124
automaton realtime(const automaton &aut)
Bridge.
Definition: letterize.hh:231
std::size_t num_components(const automaton &aut)
Bridge.
Definition: scc.hh:735
polynomial rweight_polynomial(const polynomial &poly, const weight &weight)
Bridge (rweight).
Definition: weight.hh:453
std::ostream & print_context(const context &ctx, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:140
return exp min
Definition: multiply.hh:361
weight rdivide_weight(const weight &lhs, const weight &rhs)
Bridge (rdivide).
Definition: divide.hh:159
bool is_proper(const automaton &aut)
Bridge.
Definition: is-proper.hh:58
bool is_standard(const automaton &aut)
Bridge.
Definition: standard.hh:54
automaton levenshtein(const dyn::context &ctx)
Bridge.
Definition: levenshtein.hh:63
context make_word_context(const context &ctx)
Bridge.
automaton compose(const automaton &lhs, const automaton &rhs, bool lazy)
Bridge.
Definition: compose.hh:495
label synchronizing_word(const automaton &aut, const std::string &algo)
Bridge.
automaton trim(const automaton &aut)
Bridge.
Definition: accessible.hh:224
automaton copy(const automaton &aut)
Bridge.
Definition: copy.hh:435
expression star_normal_form(const expression &exp)
Bridge.
automaton cerny(const context &ctx, unsigned num_states)
Bridge.
Definition: cerny.hh:64
bool is_ambiguous(const automaton &aut)
Bridge.
Definition: is-ambiguous.hh:97
std::ostream & print_expansion(const expansion &expansion, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:172
automaton accessible(const automaton &aut)
Bridge.
Definition: accessible.hh:206
An input/output format for valuesets.
Definition: format.hh:13
expression to_expression(const automaton &aut, identities ids, const std::string &algo)
Bridge.
weight ldivide_weight(const weight &lhs, const weight &rhs)
Bridge (ldivide).
Definition: divide.hh:74
automaton filter(const automaton &aut, const std::vector< unsigned > &states)
Bridge.
Definition: filter.hh:322
expansion project_expansion(const expansion &exp, integral_constant)
Bridge (project).
Definition: project.hh:75
automaton de_bruijn(const dyn::context &ctx, unsigned n)
Bridge.
Definition: de-bruijn.hh:57
automaton prefix(const automaton &aut)
Bridge.
Definition: prefix.hh:84
weight weight_series(const automaton &aut)
Bridge.
std::ostream & print_expression(const expression &exp, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:214
bool is_functional(const automaton &aut)
Bridge.
context tuple_context(const std::vector< context > &cs)
Bridge (tuple).
Definition: tuple.hh:46
weight weight_one(const context &ctx)
Bridge.
Definition: constant.hh:33
automaton conjunction_repeated(const automaton &aut, unsigned n)
Bridge (conjunction).
expression ldivide_expression(const expression &lhs, const expression &rhs)
Bridge (ldivide).
Definition: divide.hh:41
bool is_realtime(const automaton &aut)
Bridge.
Definition: letterize.hh:259
expansion to_expansion(const expression &exp)
Bridge.
bool are_equivalent(const automaton &aut1, const automaton &aut2)
Bridge.
bool is_accessible(const automaton &aut)
Bridge.
Definition: accessible.hh:233
automaton push_weights(const automaton &aut)
Bridge.
Definition: push-weights.hh:71
ATTRIBUTE_NORETURN std::enable_if_t<!is_free_boolean< Aut >), Aut > minimize(const Aut &, brzozowski_tag)
Handling of errors for dyn::minimize.
expression infiltrate_expression(const expression &lhs, const expression &rhs)
Bridge (infiltrate).
Definition: conjunction.hh:927
bool is_synchronizing(const automaton &aut)
Bridge.
expansion complement_expansion(const expansion &xpn)
Bridge (complement).
Definition: complement.hh:82
automaton coaccessible(const automaton &aut)
Bridge.
Definition: accessible.hh:215
expression project_expression(const expression &exp, integral_constant)
Bridge (project).
Definition: project.hh:97
automaton conjugate(const automaton &a)
Bridge.
Definition: conjugate.hh:59
bool is_costandard(const automaton &aut)
Bridge.
Definition: standard.hh:63
automaton standard(const automaton &aut)
Bridge.
Definition: standard.hh:139
unsigned star_height(const expression &exp)
Bridge.
Definition: star-height.hh:158
std::ostream & print(const automaton &aut, std::ostream &o, const std::string &fmt)
Bridge.
Definition: print.hh:121
automaton_editor * make_automaton_editor(const context &ctx)
Bridge.
context context_of_expansion(const expansion &exp)
Bridge (context_of).
Definition: make-context.hh:81
weight random_weight(const context &ctx, const std::string &param)
Bridge.
automaton ldivide(const automaton &aut1, const automaton &aut2)
Bridge (ldivide).
Definition: conjunction.hh:732
std::ostream & list_polynomial(const polynomial &polynomial, std::ostream &o)
Bridge (list).
Definition: print.hh:269
automaton inductive(const expression &exp, const std::string &algo)
Bridge.
Definition: inductive.hh:326
automaton trie_stream(const context &ctx, std::istream &is, const std::string &format)
Bridge (trie).
Definition: trie.hh:302
expression complement_expression(const expression &exp)
Bridge (complement).
Definition: complement.hh:102
polynomial multiply_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (multiply).
Definition: multiply.hh:463
automaton letterize(const automaton &aut)
Bridge.
Definition: letterize.hh:146
automaton u(const context &ctx, unsigned n)
Bridge.
Definition: u.hh:68
automaton shuffle(const std::vector< automaton > &as)
Bridge (shuffle).
Definition: conjunction.hh:811
expression copy_expression(const expression &exp, const context &ctx, identities ids)
Bridge (copy).
Definition: copy.hh:454
label multiply_label_repeated(const label &re, int exp)
Bridge (multiply).
Definition: multiply.hh:442
automaton double_ring(const context &ctx, unsigned n, const std::vector< unsigned > &finals)
Bridge.
Definition: double-ring.hh:75
expansion lweight_expansion(const weight &weight, const expansion &exp)
Bridge (lweight).
Definition: weight.hh:215
bool is_useless(const automaton &aut)
Bridge.
Definition: accessible.hh:260
automaton complete(const automaton &aut)
Bridge.
Definition: complete.hh:80
automaton quotkbaseb(const context &ctx, unsigned divisor, unsigned base)
Bridge.
Definition: quotkbaseb.hh:76
automaton factor(const automaton &aut)
Bridge.
Definition: prefix.hh:121
Template-less root for contexts.
Definition: context.hh:16
expression multiply_expression_repeated(const expression &re, int min, int max)
Bridge (multiply).
Definition: multiply.hh:408
polynomial tuple_polynomial(const std::vector< polynomial > &ps)
Bridge (tuple).
Definition: tuple.hh:212
expression lift_expression(const expression &exp)
Bridge (lift).
Definition: lift.hh:307
expression to_expression_label(const context &ctx, identities ids, const label &lbl)
Bridge (to_expression).
automaton divkbaseb(const context &ctx, unsigned divisor, unsigned base)
Bridge.
Definition: divkbaseb.hh:69
automaton cotrie(const polynomial &poly)
Bridge.
Definition: trie.hh:251
expression partial_identity_expression(const expression &exp)
Bridge (partial_identity).
expression rweight_expression(const expression &exp, const weight &weight)
Bridge (rweight).
Definition: weight.hh:430
automaton multiply_repeated(const automaton &a, int min, int max, const std::string &algo)
Bridge (multiply).
Definition: multiply.hh:258
context context_of_expression(const expression &exp)
Bridge (context_of).
Definition: make-context.hh:72
automaton subword(const automaton &aut)
Bridge.
Definition: prefix.hh:174
automaton standard_expression(const expression &exp)
Bridge (standard).
Definition: standard.hh:400
bool has_bounded_lag(const automaton &aut)
Bridge.
std::ostream & info_expression(const expression &exp, std::ostream &o)
Bridge (info).
Definition: info.hh:195
size_t num_tapes(const context &ctx)
Bridge.
bool are_equivalent_expression(const expression &r1, const expression &r2)
Bridge (are_equivalent).
expression lweight_expression(const weight &weight, const expression &exp)
Bridge (lweight).
Definition: weight.hh:269
automaton determinize(const automaton &aut, const std::string &algo)
Bridge.
Definition: determinize.hh:357
automaton rdivide(const automaton &aut1, const automaton &aut2)
Bridge.
Definition: conjunction.hh:767
A dyn automaton.
Definition: automaton.hh:17
bool is_deterministic(const automaton &aut)
Bridge.
context context_of_polynomial(const polynomial &poly)
Bridge (context_of).
Definition: make-context.hh:90
automaton zpc(const expression &exp, const std::string &algo)
Bridge.
Definition: zpc.hh:376
polynomial shortest(const automaton &aut, boost::optional< unsigned > num, boost::optional< unsigned > len)
Bridge.
Definition: shortest.hh:318
polynomial lgcd_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (lgcd).
Definition: divide.hh:106
bool is_complete(const automaton &aut)
Bridge.
Definition: is-complete.hh:52
weight add_weight(const weight &lhs, const weight &rhs)
Bridge (add).
Definition: add.hh:230
expression multiply_expression(const expression &lhs, const expression &rhs)
Bridge (multiply).
Definition: multiply.hh:294
expansion tuple_expansion(const std::vector< expansion > &es)
Bridge (tuple).
Definition: tuple.hh:123
polynomial compose_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (compose).
bool is_valid(const automaton &aut)
Bridge.
Definition: is-valid.hh:150
expansion rweight_expansion(const expansion &exp, const weight &weight)
Bridge (rweight).
Definition: weight.hh:406
context join(const context &c1, const context &c2)
Bridge.
bool is_valid_expression(const expression &exp)
Bridge (is_valid).
automaton transpose(automaton &aut)
Bridge.
Definition: transpose.hh:273
weight multiply_weight_repeated(const weight &wgt, int min, int max)
Bridge (multiply).
Definition: multiply.hh:497
expression expression_zero(const context &ctx, identities ids)
Bridge.
Definition: constant.hh:24
weight multiply_weight(const weight &lhs, const weight &rhs)
Bridge (multiply).
Definition: multiply.hh:484
context make_context(const std::string &name)
Bridge.
Definition: make-context.hh:44
expression transposition_expression(const expression &exp)
Bridge (transposition).
Definition: transpose.hh:310
std::ostream & print_weight(const weight &weight, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:308
automaton copy_convert(const automaton &aut, const context &ctx)
Bridge (copy).
Definition: copy.hh:423
expression rdivide_expression(const expression &lhs, const expression &rhs)
Bridge (rdivide).
Definition: divide.hh:148
std::shared_ptr< detail::delay_automaton_impl< Aut >> delay_automaton
An automaton wrapper that presents the delay automaton.
Definition: fwd.hh:27
polynomial project_polynomial(const polynomial &poly, integral_constant)
Bridge (project).
Definition: project.hh:132
static identities ids(const driver &d)
Get the identities of the driver.
Definition: parse.cc:89
identities identities_of(const expression &exp)
Bridge.
expansion ldivide_expansion(const expansion &lhs, const expansion &rhs)
Bridge (ldivide).
Definition: divide.hh:30
polynomial add_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (add).
Definition: add.hh:208
bool is_normalized(const automaton &aut)
Bridge.
Definition: normalize.hh:33
std::ostream & print_polynomial(const polynomial &polynomial, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:288
polynomial derivation(const expression &exp, const label &lbl, bool breaking)
Bridge.
Definition: derivation.hh:356
automaton rweight(const automaton &aut, const weight &weight, const std::string &algo)
Bridge.
Definition: weight.hh:351
#define REGISTRY_DECLARE(Name, Signature)
Definition: registries.hh:21
automaton multiply(const automaton &lhs, const automaton &rhs, const std::string &algo)
Bridge.
Definition: multiply.hh:169
automaton proper(const automaton &aut, direction dir, bool prune, const std::string &algo)
Bridge.
Definition: proper.hh:299
std::ostream & print_label(const label &label, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:233
automaton cotrie_stream(const context &ctx, std::istream &is, const std::string &format)
Bridge (cotrie).
Definition: trie.hh:313
automaton conjunction(const std::vector< automaton > &as, bool lazy)
Bridge (conjunction).
Definition: conjunction.hh:664
automaton difference(const automaton &lhs, const automaton &rhs)
Bridge.
weight weight_zero(const context &ctx)
Bridge.
Definition: constant.hh:42
automaton suffix(const automaton &aut)
Bridge.
Definition: prefix.hh:44
automaton tuple(const std::vector< automaton > &as)
Bridge.
expression expand(const expression &exp)
Bridge.
Definition: expand.hh:30
automaton random_automaton(const context &ctx, unsigned num_states, float density, unsigned num_initial, unsigned num_final, boost::optional< unsigned > max_labels, float loop_chance, const std::string &weights)
Bridge.
expression conjunction_expression(const expression &lhs, const expression &rhs)
Bridge (conjunction).
label rdivide_label(const label &lhs, const label &rhs)
Bridge (rdivide).
Definition: divide.hh:137
polynomial conjunction_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (conjunction).
bool less_than_expression(const expression &lhs, const expression &rhs)
Bridge (less_than).
Definition: less-than.hh:31
weight constant_term(const expression &exp)
Bridge.
bool is_partial_identity(const automaton &aut)
Bridge.
direction
Orientation.
Definition: direction.hh:11
automaton add(const automaton &lhs, const automaton &rhs, const std::string &algo)
Bridge.
Definition: add.hh:124
weight evaluate(const automaton &aut, const label &lbl)
Bridge.
Definition: evaluate.hh:212
polynomial lweight_polynomial(const weight &weight, const polynomial &poly)
Bridge (lweight).
Definition: weight.hh:301
automaton project(const automaton &aut, integral_constant)
Bridge.
bool is_coaccessible(const automaton &aut)
Bridge.
Definition: accessible.hh:242
expression to_expression_class(const context &ctx, identities ids, const letter_class_t &letters, bool accept)
Bridge (to_expression).
polynomial read_polynomial(const context &ctx, std::istream &is)
Bridge.
Definition: read.hh:60
expression expression_one(const context &ctx, identities ids)
Bridge.
Definition: constant.hh:15
automaton reduce(const automaton &aut)
Bridge.
Definition: reduce.hh:621
automaton pair(const automaton &aut, bool keep_initials)
Bridge.
Definition: pair.hh:264
automaton normalize(const automaton &aut)
Bridge.
Definition: normalize.hh:41
automaton universal(const automaton &aut)
Bridge.
Definition: universal.hh:148
label ambiguous_word(const automaton &aut)
Bridge.
A dyn Value/ValueSet.
Definition: fwd.hh:23
std::ostream & info(const automaton &aut, std::ostream &out, unsigned details)
Bridge.
Definition: info.hh:136
value_impl< detail::expression_tag > expression
Definition: fwd.hh:25
expression tuple_expression(const std::vector< expression > &es)
Bridge (tuple).
Definition: tuple.hh:160
automaton lightest_automaton(const automaton &aut, unsigned k, const std::string &algo)
Bridge.
bool is_synchronized(const automaton &aut)
Bridge.
weight eval_polynomial(const automaton &aut, const polynomial &poly)
Bridge (evaluate).
Definition: evaluate.hh:241
bool is_empty(const automaton &aut)
Bridge.
Definition: accessible.hh:269
expansion add_expansion(const expansion &lhs, const expansion &rhs)
Bridge (add).
Definition: add.hh:165
automaton condense(const automaton &aut)
Bridge.
Definition: scc.hh:832
automaton sort(const automaton &aut)
Bridge.
Definition: sort.hh:176
context context_of(const automaton &aut)
Bridge.
Definition: make-context.hh:63
expression add_expression(const expression &lhs, const expression &rhs)
Bridge (add).
Definition: add.hh:186
bool is_cycle_ambiguous(const automaton &aut)
Bridge.
polynomial ldivide_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (ldivide).
Definition: divide.hh:63
polynomial split_polynomial(const polynomial &poly)
Bridge (split).
Definition: split.hh:315
automaton strip(const automaton &aut)
Bridge.
Definition: strip.hh:46
automaton scc(const automaton &aut, const std::string &algo)
Bridge.
Definition: scc.hh:704