Defined in cong-common-helpers.hpp
.
This page contains the documentation of the functions reduce_no_run_no_checks; reduce_no_run; reduce_no_checks; and reduce which can be invoked with a variety of different argument types.
These helper functions can be applied to objects of the types:
Functions with the suffix _no_run
do not perform any enumeration of the object representing a congruence; and those with the suffix _no_checks
do not check that the input words are valid.
|
template<typename Thing> |
Thing::native_word_type | reduce (Thing const &thing, char const *w) |
| Reduce a word (string literal).
|
|
template<typename Thing, typename Int> |
Thing::native_word_type | reduce (Thing const &thing, std::initializer_list< Int > const &w) |
| Reduce a word (std::initializer_list).
|
|
template<typename Thing> |
Thing::native_word_type | reduce (Thing const &thing, typename Thing::native_word_type const &w) |
| Reduce a word.
|
|
template<typename Thing> |
Thing::native_word_type | reduce_no_checks (Thing const &thing, char const *w) |
| Reduce a word (string literal).
|
|
template<typename Thing, typename Int> |
Thing::native_word_type | reduce_no_checks (Thing const &thing, std::initializer_list< Int > const &w) |
| Reduce a word (std::initializer_list).
|
|
template<typename Thing> |
Thing::native_word_type | reduce_no_checks (Thing const &thing, typename Thing::native_word_type const &w) |
| Reduce a word with no checks.
|
|
template<typename Thing> |
Thing::native_word_type | reduce_no_run (Thing const &thing, char const *w) |
| Reduce a word (string literal).
|
|
template<typename Thing, typename Int> |
Thing::native_word_type | reduce_no_run (Thing const &thing, std::initializer_list< Int > const &w) |
| Reduce a word (std::initializer_list).
|
|
template<typename Thing> |
Thing::native_word_type | reduce_no_run (Thing const &thing, typename Thing::native_word_type const &w) |
| Reduce a word with no enumeration.
|
|
template<typename Thing> |
Thing::native_word_type | reduce_no_run_no_checks (Thing const &thing, char const *w) |
| Reduce a word (string literal).
|
|
template<typename Thing, typename Int> |
Thing::native_word_type | reduce_no_run_no_checks (Thing const &thing, std::initializer_list< Int > const &w) |
| Reduce a word (std::initializer_list).
|
|
template<typename Thing> |
Thing::native_word_type | reduce_no_run_no_checks (Thing const &thing, typename Thing::native_word_type const &w) |
| Reduce a word with no enumeration or checks.
|
|
◆ reduce() [1/3]
template<typename Thing>
Thing::native_word_type reduce |
( |
Thing const & | thing, |
|
|
char const * | w ) |
|
nodiscard |
◆ reduce() [2/3]
template<typename Thing, typename Int>
◆ reduce() [3/3]
template<typename Thing>
Thing::native_word_type reduce |
( |
Thing const & | thing, |
|
|
typename Thing::native_word_type const & | w ) |
|
nodiscard |
Defined in cong-common-helpers.hpp
.
This function returns a reduced word equivalent to the input word w
in the congruence represented by thing
. This function triggers a full enumeration of thing
. The output word is a normal form for the input word.
- Template Parameters
-
- Parameters
-
thing | the object to reduce words in. |
w | the word to reduce. |
- Returns
- An irreducible word equivalent to
w
.
- Exceptions
-
LibsemigroupsException | if any of the values pointed at by the iterators is out of range, i.e. they do not belong to presentation().alphabet() and Presentation::validate_word throws. |
◆ reduce_no_checks() [1/3]
template<typename Thing>
Thing::native_word_type reduce_no_checks |
( |
Thing const & | thing, |
|
|
char const * | w ) |
|
nodiscard |
◆ reduce_no_checks() [2/3]
template<typename Thing, typename Int>
◆ reduce_no_checks() [3/3]
template<typename Thing>
Thing::native_word_type reduce_no_checks |
( |
Thing const & | thing, |
|
|
typename Thing::native_word_type const & | w ) |
|
nodiscard |
Defined in cong-common-helpers.hpp
.
This function returns a reduced word equivalent to the input word w
in the congruence represented by thing
. This function triggers a full enumeration of thing
. The output word is a normal form for the input word.
- Template Parameters
-
- Parameters
-
thing | the object to reduce words in. |
w | the word to reduce. |
- Returns
- An irreducible word equivalent to
w
.
- Warning
- This function does not check that the arguments are valid. In particular, it is assumed that every value pointed at by the iterators belongs to
presentation().alphabet()
.
◆ reduce_no_run() [1/3]
template<typename Thing>
Thing::native_word_type reduce_no_run |
( |
Thing const & | thing, |
|
|
char const * | w ) |
|
nodiscard |
◆ reduce_no_run() [2/3]
template<typename Thing, typename Int>
◆ reduce_no_run() [3/3]
template<typename Thing>
Thing::native_word_type reduce_no_run |
( |
Thing const & | thing, |
|
|
typename Thing::native_word_type const & | w ) |
|
nodiscard |
Defined in cong-common-helpers.hpp
.
This function returns a reduced word equivalent to the input word w
in the congruence represented by thing
. This function triggers no enumeration of thing
. The word output by this function is equivalent to the input word in the congruence. If thing
is finished, then the output word is a normal form for the input word. If thing
is not finished, then it might be that equivalent input words produce different output words.
- Template Parameters
-
- Parameters
-
thing | the object to reduce words in. |
w | the word to reduce. |
- Returns
- An irreducible word equivalent to
w
.
- Exceptions
-
LibsemigroupsException | if any of the values pointed at by the iterators is out of range, i.e. they do not belong to presentation().alphabet() and Presentation::validate_word throws. |
◆ reduce_no_run_no_checks() [1/3]
template<typename Thing>
Thing::native_word_type reduce_no_run_no_checks |
( |
Thing const & | thing, |
|
|
char const * | w ) |
|
nodiscard |
◆ reduce_no_run_no_checks() [2/3]
template<typename Thing, typename Int>
Thing::native_word_type reduce_no_run_no_checks |
( |
Thing const & | thing, |
|
|
std::initializer_list< Int > const & | w ) |
|
nodiscard |
◆ reduce_no_run_no_checks() [3/3]
template<typename Thing>
Thing::native_word_type reduce_no_run_no_checks |
( |
Thing const & | thing, |
|
|
typename Thing::native_word_type const & | w ) |
|
nodiscard |
Defined in cong-common-helpers.hpp
.
This function returns a reduced word equivalent to the input word w
in the congruence represented by thing
. This function triggers no enumeration of thing
. The word output by this function is equivalent to the input word in the congruence. If thing
is finished, then the output word is a normal form for the input word. If thing
is not finished, then it might be that equivalent input words produce different output words.
- Template Parameters
-
- Parameters
-
thing | the object to reduce words in. |
w | the word to reduce. |
- Returns
- An irreducible word equivalent to
w
.
- Warning
- This function does not check that the arguments are valid. In particular, it is assumed that every value pointed at by the iterators belongs to
presentation().alphabet()
.