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>
e0
GCD engines.GreatestCommonDivisorAbstract<C>
e1
GreatestCommonDivisorAbstract<C>
e2
protected java.util.concurrent.ExecutorService
pool
Thread 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.String
toString()
Get the String representation with gcd engines.-
Methods inherited from class edu.jas.fd.GreatestCommonDivisorAbstract
baseExtendedGcd, baseGcdDiophant, baseHalfExtendedGcd, baseRecursiveContent, baseRecursivePrimitivePart, divide, gcd, isLeftCoPrime, isLeftCoPrime, isLeftOreCond, isRightOreCond, leftBaseContent, leftBasePrimitivePart, leftContent, leftCoPrime, leftCoPrime, leftCoPrimeRec, leftGcd, leftGcd, leftGcdCofactors, leftLcm, leftOreCond, leftOreCond, leftPrimitivePart, leftRecursiveContent, leftRecursiveGcd, leftRecursivePrimitivePart, recursiveContent, rightBaseContent, rightBasePrimitivePart, rightContent, rightDivide, rightGcd, rightGcdCofactors, 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:
toString
in 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:
leftBaseGcd
in 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:
leftRecursiveUnivariateGcd
in 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:
leftGcd
in interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>
- Overrides:
leftGcd
in 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:
rightBaseGcd
in 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:
rightRecursiveUnivariateGcd
in 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:
rightGcd
in interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>
- Overrides:
rightGcd
in classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>
- Parameters:
P
- GenSolvablePolynomial.S
- GenSolvablePolynomial.- Returns:
- rightGcd(P,S).
-
-