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 voidaddMyAQPairsViaXor(Set<AQPair> targetSet)Addthis's AQPairs to the target set via xor.booleanequals(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()inthashCode()booleanisExactSquare()Test if the Q of this smooth congruence is an exact square.StringtoString()
-
-
-
Method Detail
-
getAQPairs
public Set<AQPair> getAQPairs()
- Specified by:
getAQPairsin interfaceSmooth- Returns:
- the set of AQPairs this smooth relation consists of
-
addMyAQPairsViaXor
public void addMyAQPairsViaXor(Set<AQPair> targetSet)
Description copied from interface:SmoothAddthis'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:
addMyAQPairsViaXorin interfaceSmooth
-
getMatrixElements
public Integer[] getMatrixElements()
- Specified by:
getMatrixElementsin 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:SmoothTest 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:
isExactSquarein 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.
-
-