Regina 7.4 Calculation Engine
|
Represents a power of a generator in a group presentation. More...
#include <algebra/grouppresentation.h>
Public Member Functions | |
GroupExpressionTerm ()=default | |
Creates a new uninitialised term. | |
GroupExpressionTerm (unsigned long gen, long exp) | |
Creates a new term initialised to the given value. | |
GroupExpressionTerm (const GroupExpressionTerm &)=default | |
Creates a new term initialised to the given value. | |
GroupExpressionTerm & | operator= (const GroupExpressionTerm &)=default |
Makes this term identical to the given term. | |
bool | operator== (const GroupExpressionTerm &) const =default |
Determines whether this and the given term contain identical data. | |
std::strong_ordering | operator<=> (const GroupExpressionTerm &) const =default |
Compares two terms lexicographically. | |
GroupExpressionTerm | inverse () const |
Returns the inverse of this term. | |
bool | operator+= (const GroupExpressionTerm &other) |
Attempts to merge this term with the given term. | |
Public Attributes | |
unsigned long | generator |
The number that identifies the generator in this term. | |
long | exponent |
The exponent to which the generator is raised. | |
Represents a power of a generator in a group presentation.
These objects are small enough to pass by value and swap with std::swap(), with no need for any specialised move operations or swap functions.
|
default |
Creates a new uninitialised term.
|
inline |
Creates a new term initialised to the given value.
gen | the number that identifies the generator in the new term. |
exp | the exponent to which this generator is raised. |
|
default |
Creates a new term initialised to the given value.
|
inline |
Returns the inverse of this term.
The inverse has the same generator but a negated exponent.
Note that this term will remain unchanged.
|
inline |
Attempts to merge this term with the given term.
If both terms have the same generator, the two exponents will be added and stored in this term. If the generators are different, this routine will do nothing.
Note that this term might be changed but the given term will remain unchanged.
other | the term to merge with this term. |
true
if the two terms were merged into this term, or false
if the two terms have different generators.
|
default |
Compares two terms lexicographically.
Specifically, this operator imposes a total order on terms by comparing them lexicographically as (generator, exponent) pairs.
This generates all of the usual comparison operators, including <
, <=
, >
, and >=
.
x <=> y
is not available, but the other comparison operators that it generates are available.
|
default |
Makes this term identical to the given term.
|
default |
Determines whether this and the given term contain identical data.
true
if and only if this and the given term have both the same generator and exponent. long regina::GroupExpressionTerm::exponent |
The exponent to which the generator is raised.
unsigned long regina::GroupExpressionTerm::generator |
The number that identifies the generator in this term.