17 #ifndef DYN_CONTEXT_DESCRIPTION_HH
18 #define DYN_CONTEXT_DESCRIPTION_HH
51 const std::vector<abstract_weightset*>&
instances() {
55 "Natural integer semiring, ie non-negative integers");
57 "Ring of the integers -- a principal ideal domain indeed");
59 "Field of the rational numbers");
61 "Field of the real numbers");
63 "Field of the complex numbers");
65 "Field with 2 elements, 0 and 1 -- isomorphic with Z/2Z");
67 "Semiring of the natural integers completed with "
68 "an infinite element (hence starable)");
70 "Semiring of the integers equipped with min (for addition) "
71 "and + (for multiplication)");
73 "Semiring of the integers equipped with max (for addition) "
74 "and + (for multiplication)");
76 "Semiring of the real numbers equipped with max "
77 "(for addition) and . (for multiplication)");
79 "Semiring of the integers equipped with max (for addition) "
80 "and min (for multiplication) -- locally finite");
81 static cyclic_weightset _cyclic_description(
"Z/<int>Z",
"Cyclic semiring Z/<int>Z");
82 static bounded_weightset _bounded_description(
"N<int>",
"Quotient of N by the congruence generated by <int> = <int>+1");
83 static std::vector<abstract_weightset*> v{
95 &_maxminp_description,
97 &_bounded_description};
weightset_description ratweight(context_description cd)
labelset_description nullableset(labelset_description ls1)
std::shared_ptr< weightset_description_impl > weightset_description
Definition: description_types.hh:33
labelset_description ltupleset(std::vector< labelset_description > lss)
weightset_description parse_weightset(json::object_t const *jp)
std::vector< std::string > all_weightset_public_static_names()
context_description parse_context(json::object_t const *jp)
weightset_description weightset(const std::string &k)
std::vector< std::string > all_weightset_public_descriptions()
labelset_description parse_labelset(json::object_t const *jp)
std::shared_ptr< labelset_description_impl > labelset_description
Definition: description_types.hh:32
labelset_description intletterset(int a, int b)
bool is_promotable(weightset_description src, weightset_description dest)
labelset_description letterset(std::string const &s)
labelset_description wordset(std::string const &s)
labelset_description oneset()
std::vector< std::string > const & weightset_promotion_public_static_names(weightset_description ws)
std::string tostring(labelset_description ls, bool dynamic)
const std::vector< abstract_weightset * > & instances()
Definition: context_description.hh:51
weightset_description wtupleset(std::vector< weightset_description > wss)
context_description c_desc(labelset_description ls, weightset_description ws)
std::shared_ptr< context_description_impl > context_description
Definition: description_types.hh:31
std::string all_weightset_public_static_names_as_string()
Main namespace of Awali.
Definition: ato.hh:22
Definition: basic_weightset.hh:30
Definition: bounded_weightset.hh:26
Definition: cyclic_weightset.hh:26