This page contains documentation for the member functions of ToddCoxeter class that can be used to convert a word into the index of congruence class.
- See also
- Class index to word for the inverses of the functions described on this page.
This page contains documentation for the member functions of ToddCoxeter that can be used to convert a word into the index of congruence class.
- See also
- Class index to word for the inverses of the functions described on this page.
|
template<typename Iterator1, typename Iterator2> |
index_type | current_index_of (Iterator1 first, Iterator2 last) const |
| Returns the current index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | current_index_of (Iterator1 first, Iterator2 last) const |
| Returns the current index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | current_index_of_no_checks (Iterator1 first, Iterator2 last) const |
| Returns the current index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | current_index_of_no_checks (Iterator1 first, Iterator2 last) const |
| Returns the current index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | index_of (Iterator1 first, Iterator2 last) |
| Returns the index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | index_of (Iterator1 first, Iterator2 last) |
| Returns the index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | index_of_no_checks (Iterator1 first, Iterator2 last) |
| Returns the index of the class containing a word.
|
|
template<typename Iterator1, typename Iterator2> |
index_type | index_of_no_checks (Iterator1 first, Iterator2 last) |
| Returns the index of the class containing a word.
|
|
◆ current_index_of() [1/2]
template<typename Iterator1, typename Iterator2>
index_type current_index_of |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) const |
|
inline |
This function returns the current index of the class containing the word described by the iterators first
and last
. No enumeration is triggered by calls to this function. Unless finished returns true
, the index returned by this function is essentially arbitrary, and can only really be used to check whether or not two words are currently known to belong to the congruence.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. If there is no such path, then UNDEFINED is returned.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The current index of the class containing the word.
- 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. |
◆ current_index_of() [2/2]
template<typename Word>
template<typename Iterator1, typename Iterator2>
index_type current_index_of |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) const |
|
inline |
This function returns the current index of the class containing the word described by the iterators first
and last
. No enumeration is triggered by calls to this function. Unless finished returns true
, the index returned by this function is essentially arbitrary, and can only really be used to check whether or not two words are currently known to belong to the congruence.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. If there is no such path, then UNDEFINED is returned.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The current index of the class containing the word.
- 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. |
◆ current_index_of_no_checks() [1/2]
template<typename Iterator1, typename Iterator2>
index_type current_index_of_no_checks |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) const |
This function returns the current index of the class containing the word described by the iterators first
and last
. No enumeration is triggered by calls to this function. Unless finished returns true
, the index returned by this function is essentially arbitrary, and can only really be used to check whether or not two words are currently known to belong to the congruence.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. If there is no such path, then UNDEFINED is returned.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The current index of the class containing the word.
- 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()
.
◆ current_index_of_no_checks() [2/2]
template<typename Word>
template<typename Iterator1, typename Iterator2>
index_type current_index_of_no_checks |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) const |
|
inline |
This function returns the current index of the class containing the word described by the iterators first
and last
. No enumeration is triggered by calls to this function. Unless finished returns true
, the index returned by this function is essentially arbitrary, and can only really be used to check whether or not two words are currently known to belong to the congruence.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. If there is no such path, then UNDEFINED is returned.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The current index of the class containing the word.
- 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()
.
◆ index_of() [1/2]
template<typename Iterator1, typename Iterator2>
index_type index_of |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) |
|
inline |
This function returns the index of the class containing the word described by the iterators first
and last
. A full enumeration is triggered by calls to this function. If the current_word_graph has not already been standardized, then this function first standardizes it with respect to Order::shortlex; otherwise the existing standardization order is used.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. Since a full enumeration is triggered by calls to this function, the word graph is complete, and so the return value is never UNDEFINED.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The index of the class containing the word.
- 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. |
◆ index_of() [2/2]
template<typename Word>
template<typename Iterator1, typename Iterator2>
index_type index_of |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) |
|
inline |
This function returns the index of the class containing the word described by the iterators first
and last
. A full enumeration is triggered by calls to this function. If the current_word_graph has not already been standardized, then this function first standardizes it with respect to Order::shortlex; otherwise the existing standardization order is used.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. Since a full enumeration is triggered by calls to this function, the word graph is complete, and so the return value is never UNDEFINED.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The index of the class containing the word.
- 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. |
◆ index_of_no_checks() [1/2]
template<typename Iterator1, typename Iterator2>
index_type index_of_no_checks |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) |
This function returns the index of the class containing the word described by the iterators first
and last
. A full enumeration is triggered by calls to this function. If the current_word_graph has not already been standardized, then this function first standardizes it with respect to Order::shortlex; otherwise the existing standardization order is used.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. Since a full enumeration is triggered by calls to this function, the word graph is complete, and so the return value is never UNDEFINED.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The index of the class containing the word.
- 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()
.
◆ index_of_no_checks() [2/2]
template<typename Word>
template<typename Iterator1, typename Iterator2>
index_type index_of_no_checks |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) |
|
inline |
This function returns the index of the class containing the word described by the iterators first
and last
. A full enumeration is triggered by calls to this function. If the current_word_graph has not already been standardized, then this function first standardizes it with respect to Order::shortlex; otherwise the existing standardization order is used.
The returned index is obtained by following the path in current_word_graph from node 0
labelled by the word given by the arguments first
and last
. Since a full enumeration is triggered by calls to this function, the word graph is complete, and so the return value is never UNDEFINED.
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Returns
- The index of the class containing the word.
- 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()
.