Class Smooth_Composite
- java.lang.Object
-
- de.tilman_neumann.jml.factor.base.congruence.Smooth_Composite
-
-
Constructor Summary
Constructors Constructor Description Smooth_Composite(Set<? extends AQPair> aqPairs)
Constructor from several AQ-pairs.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMyAQPairsViaXor(Set<AQPair> targetSet)
Addthis
's AQPairs to the target set via xor.boolean
equals(Object o)
Checks if this composite smooth relation is equal to another object. Simple smooths (having exactly one AQPair) and composite smooths (having strictly more than one AQPair) can never be equal; hence it is correct to have two separate equals() implementations that reject all objects of the other type.Set<AQPair>
getAQPairs()
Integer[]
getMatrixElements()
int
hashCode()
boolean
isExactSquare()
Test if the Q of this smooth congruence is an exact square.String
toString()
-
-
-
Method Detail
-
getAQPairs
public Set<AQPair> getAQPairs()
- Specified by:
getAQPairs
in interfaceSmooth
- Returns:
- the set of AQPairs this smooth relation consists of
-
addMyAQPairsViaXor
public void addMyAQPairsViaXor(Set<AQPair> targetSet)
Description copied from interface:Smooth
Addthis
's AQPairs to the target set via xor. This operation permits to get around without creating new array objects for all those congruence sub-classes that represent just a single AQPair.- Specified by:
addMyAQPairsViaXor
in interfaceSmooth
-
getMatrixElements
public Integer[] getMatrixElements()
- Specified by:
getMatrixElements
in interfaceSmooth
- Returns:
- set matrix elements. For a smooth relation these are the small factors appearing with odd exponent.
-
isExactSquare
public boolean isExactSquare()
Description copied from interface:Smooth
Test if the Q of this smooth congruence is an exact square. Since smooth congruences can not have non-square large Q-factors, only the small Q-factors need to be checked.- Specified by:
isExactSquare
in interfaceSmooth
- Returns:
- true if Q is square
-
equals
public boolean equals(Object o)
Checks if this composite smooth relation is equal to another object. Simple smooths (having exactly one AQPair) and composite smooths (having strictly more than one AQPair) can never be equal; hence it is correct to have two separate equals() implementations that reject all objects of the other type.
-
-