public interface GroupElementImpl extends Representable, UniqueByteRepresentable
GroupElement to offer
additional evaluation capabilities.
Implementations must properly implement equals() and hashCode().
| Modifier and Type | Method and Description |
|---|---|
GroupImpl |
getStructure()
Retrieves the group this element belongs to.
|
GroupElementImpl |
inv()
Calculates the inverse of this group element.
|
default boolean |
isNeutralElement()
Returns true iff this is the neutral element of the group.
|
GroupElementImpl |
op(GroupElementImpl e)
Calculates the result of this op e.
|
default GroupElementImpl |
pow(java.math.BigInteger k)
Calculates the result of applying the group operation k times.
|
default GroupElementImpl |
square()
Squares this if the group is multiplicative and doubles it if the group is additive.
|
getRepresentationgetUniqueByteRepresentation, updateAccumulatorGroupImpl getStructure()
GroupElementImpl inv()
x.op(this).equals(getStructure().getNeutralElement())GroupElementImpl op(GroupElementImpl e) throws java.lang.IllegalArgumentException
e - right hand side of the operationjava.lang.IllegalArgumentException - if e is of the wrong typedefault GroupElementImpl square()
If there is a more efficient algorithm for squaring (e.g. for elliptic curve points), this method can be overwritten.
default GroupElementImpl pow(java.math.BigInteger k)
default boolean isNeutralElement()