|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apfloat.internal.IntElementaryModMath
org.apfloat.internal.IntModMath
org.apfloat.internal.IntFactor3NTTStrategy
public class IntFactor3NTTStrategy
A transform that implements a 3-point transform on top of another Number Theoretic Transform that does transforms of length 2n.
| Constructor Summary | |
|---|---|
IntFactor3NTTStrategy(NTTStrategy factor2Strategy)
Creates a new factor-3 transform strategy on top of an existing transform. |
|
| Method Summary | |
|---|---|
long |
getTransformLength(long size)
Return the supported transform length for the specified data size. |
void |
inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength)
Perform an inverse transform on the data. |
void |
transform(DataStorage dataStorage,
int modulus)
Perform a forward transform on the data. |
| Methods inherited from class org.apfloat.internal.IntModMath |
|---|
createWTable, getForwardNthRoot, getInverseNthRoot, modDivide, modInverse, modPow, negate |
| Methods inherited from class org.apfloat.internal.IntElementaryModMath |
|---|
getModulus, modAdd, modMultiply, modSubtract, setModulus |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public IntFactor3NTTStrategy(NTTStrategy factor2Strategy)
factor2Strategy - The underlying transformation strategy, that can be capable of only doing radix-2 transforms.| Method Detail |
|---|
public void transform(DataStorage dataStorage,
int modulus)
throws ApfloatRuntimeException
NTTStrategyMultiple moduli can be used, if the convolution algorithm uses the Chinese Remainder Theorem to calculate the final result.
transform in interface NTTStrategydataStorage - The data to be transformed.modulus - Number of modulus to use (in case the transform supports multiple moduli).
ApfloatRuntimeException
public void inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength)
throws ApfloatRuntimeException
NTTStrategyMultiple moduli can be used, if the convolution algorithm uses the Chinese Remainder Theorem to calculate the final result.
inverseTransform in interface NTTStrategydataStorage - The data to be transformed.modulus - Number of modulus to use (in case the transform supports multiple moduli).totalTransformLength - Total transform length; the final result elements are divided by this value.
ApfloatRuntimeExceptionpublic long getTransformLength(long size)
NTTStrategy
getTransformLength in interface NTTStrategysize - Length of the data to be transformed.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||