Package org.apfloat.aparapi
Class IntAparapiNTTStepStrategy
- java.lang.Object
-
- org.apfloat.internal.IntElementaryModMath
-
- org.apfloat.internal.IntModMath
-
- org.apfloat.internal.IntTableFNT
-
- org.apfloat.internal.IntNTTStepStrategy
-
- org.apfloat.aparapi.IntAparapiNTTStepStrategy
-
- All Implemented Interfaces:
org.apfloat.internal.Parallelizable
,org.apfloat.spi.NTTStepStrategy
public class IntAparapiNTTStepStrategy extends org.apfloat.internal.IntNTTStepStrategy
NTT steps for theint
element type aparapi transforms.- Since:
- 1.8.3
- Version:
- 1.8.3
- Author:
- Mikko Tommila
-
-
Constructor Summary
Constructors Constructor Description IntAparapiNTTStepStrategy()
Default constructor.
-
Method Summary
Modifier and Type Method Description void
multiplyElements(org.apfloat.spi.ArrayAccess arrayAccess, int startRow, int startColumn, int rows, int columns, long length, long totalTransformLength, boolean isInverse, int modulus)
void
transformRows(org.apfloat.spi.ArrayAccess arrayAccess, int length, int count, boolean isInverse, boolean permute, int modulus)
Transform the columns of the data matrix.-
Methods inherited from class org.apfloat.internal.IntNTTStepStrategy
createMultiplyElementsParallelRunnable, createTransformRowsParallelRunnable, getMaxTransformLength
-
Methods inherited from class org.apfloat.internal.IntModMath
createWTable, getForwardNthRoot, getInverseNthRoot, modDivide, modInverse, modPow, negate
-
-
-
-
Method Detail
-
multiplyElements
public void multiplyElements(org.apfloat.spi.ArrayAccess arrayAccess, int startRow, int startColumn, int rows, int columns, long length, long totalTransformLength, boolean isInverse, int modulus) throws org.apfloat.ApfloatRuntimeException
- Specified by:
multiplyElements
in interfaceorg.apfloat.spi.NTTStepStrategy
- Overrides:
multiplyElements
in classorg.apfloat.internal.IntNTTStepStrategy
- Throws:
org.apfloat.ApfloatRuntimeException
-
transformRows
public void transformRows(org.apfloat.spi.ArrayAccess arrayAccess, int length, int count, boolean isInverse, boolean permute, int modulus) throws org.apfloat.ApfloatRuntimeException
Transform the columns of the data matrix. Note that this method expects the data to be organized in columns, not rows. The argumentslength
andcount
still mean the length of one transform and number of transforms to be done.- Specified by:
transformRows
in interfaceorg.apfloat.spi.NTTStepStrategy
- Overrides:
transformRows
in classorg.apfloat.internal.IntNTTStepStrategy
- Parameters:
arrayAccess
- The memory array to split to columns and to transform.length
- Length of one transform (one columns).count
- Number of columns.isInverse
-true
if an inverse transform is performed,false
if a forward transform is performed.permute
- If permutation should be done.modulus
- Index of the modulus.- Throws:
org.apfloat.ApfloatRuntimeException
-
-