Package edu.jas.fd
Class SGCDParallelProxy<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.fd.GreatestCommonDivisorAbstract<C>
-
- edu.jas.fd.SGCDParallelProxy<C>
-
- All Implemented Interfaces:
GreatestCommonDivisor<C>,java.io.Serializable
public class SGCDParallelProxy<C extends GcdRingElem<C>> extends GreatestCommonDivisorAbstract<C>
Solvable greatest common divisor parallel proxy. Executes methods from two implementations in parallel and returns the result from the fastest run. Uses timeout oninvokeAny()and return fake common divisor1 in case of timeout.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description GreatestCommonDivisorAbstract<C>e0GCD engines.GreatestCommonDivisorAbstract<C>e1GreatestCommonDivisorAbstract<C>e2protected java.util.concurrent.ExecutorServicepoolThread pool.
-
Constructor Summary
Constructors Constructor Description SGCDParallelProxy(RingFactory<C> cf, GreatestCommonDivisorAbstract<C> e1, GreatestCommonDivisorAbstract<C> e2)ParallelProxy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GenSolvablePolynomial<C>leftBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Left univariate GenSolvablePolynomial greatest common divisor.GenSolvablePolynomial<C>leftGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Left GenSolvablePolynomial greatest common divisor.GenSolvablePolynomial<GenPolynomial<C>>leftRecursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)left univariate GenSolvablePolynomial recursive greatest common divisor.GenSolvablePolynomial<C>rightBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Right univariate GenSolvablePolynomial greatest common divisor.GenSolvablePolynomial<C>rightGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Right GenSolvablePolynomial greatest common divisor.GenSolvablePolynomial<GenPolynomial<C>>rightRecursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)right univariate GenSolvablePolynomial recursive greatest common divisor.java.lang.StringtoString()Get the String representation with gcd engines.-
Methods inherited from class edu.jas.fd.GreatestCommonDivisorAbstract
baseExtendedGcd, baseGcdDiophant, baseHalfExtendedGcd, baseRecursiveContent, baseRecursivePrimitivePart, divide, gcd, isLeftCoPrime, isLeftCoPrime, leftBaseContent, leftBasePrimitivePart, leftContent, leftCoPrime, leftCoPrime, leftCoPrimeRec, leftGcd, leftLcm, leftOreCond, leftOreCond, leftPrimitivePart, leftRecursiveContent, leftRecursiveGcd, leftRecursivePrimitivePart, recursiveContent, rightBaseContent, rightBasePrimitivePart, rightContent, rightLcm, rightOreCond, rightOreCond, rightPrimitivePart, rightRecursiveContent, rightRecursiveGcd, rightRecursivePrimitivePart
-
-
-
-
Field Detail
-
e0
public final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> e0
GCD engines.
-
e1
public final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> e1
-
e2
public final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> e2
-
pool
protected transient java.util.concurrent.ExecutorService pool
Thread pool.
-
-
Constructor Detail
-
SGCDParallelProxy
public SGCDParallelProxy(RingFactory<C> cf, GreatestCommonDivisorAbstract<C> e1, GreatestCommonDivisorAbstract<C> e2)
ParallelProxy constructor.- Parameters:
cf- coefficient ring.
-
-
Method Detail
-
toString
public java.lang.String toString()
Get the String representation with gcd engines.- Overrides:
toStringin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- See Also:
Object.toString()
-
leftBaseGcd
public GenSolvablePolynomial<C> leftBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Left univariate GenSolvablePolynomial greatest common divisor.- Specified by:
leftBaseGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
leftRecursiveUnivariateGcd
public GenSolvablePolynomial<GenPolynomial<C>> leftRecursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)
left univariate GenSolvablePolynomial recursive greatest common divisor.- Specified by:
leftRecursiveUnivariateGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate recursive GenSolvablePolynomial.S- univariate recursive GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
leftGcd
public GenSolvablePolynomial<C> leftGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Left GenSolvablePolynomial greatest common divisor.- Specified by:
leftGcdin interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Overrides:
leftGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- GenSolvablePolynomial.S- GenSolvablePolynomial.- Returns:
- leftGcd(P,S).
-
rightBaseGcd
public GenSolvablePolynomial<C> rightBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Right univariate GenSolvablePolynomial greatest common divisor.- Specified by:
rightBaseGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
rightRecursiveUnivariateGcd
public GenSolvablePolynomial<GenPolynomial<C>> rightRecursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)
right univariate GenSolvablePolynomial recursive greatest common divisor.- Specified by:
rightRecursiveUnivariateGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate recursive GenSolvablePolynomial.S- univariate recursive GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
rightGcd
public GenSolvablePolynomial<C> rightGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Right GenSolvablePolynomial greatest common divisor.- Specified by:
rightGcdin interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Overrides:
rightGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- GenSolvablePolynomial.S- GenSolvablePolynomial.- Returns:
- rightGcd(P,S).
-
-