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().