# Class IntAparapiFactor3NTTStepStrategy

java.lang.Object
org.apfloat.internal.IntElementaryModMath
org.apfloat.internal.IntModMath
org.apfloat.internal.IntFactor3NTTStepStrategy
org.apfloat.aparapi.IntAparapiFactor3NTTStepStrategy

All Implemented Interfaces:
  `Parallelizable, Factor3NTTStepStrategy`

public class IntAparapiFactor3NTTStepStrategy extends IntFactor3NTTStepStrategy
Steps for the factor-3 NTT using the GPU, for the `int` element type.

Since:
  1.8.3
Version:
  1.8.3
Author:
  Mikko Tommila

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IntAparapiFactor3NTTStepStrategy()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `transformColumns(DataStorage dataStorage0, DataStorage dataStorage1, DataStorage dataStorage2, long startColumn, long columns, long power2length, long length, boolean isInverse, int modulus)`
  Transform the columns of a matrix using a 3-point transform.

  ### Methods inherited from class IntFactor3NTTStepStrategy

  `createColumnTransformParallelRunnable, getMaxTransformLength`

  ### Methods inherited from class IntModMath

  `createWTable, getForwardNthRoot, getInverseNthRoot, modDivide, modInverse, modPow, negate`

  ### Methods inherited from class IntElementaryModMath

  `getModulus, modAdd, modMultiply, modSubtract, setModulus`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### IntAparapiFactor3NTTStepStrategy

    public IntAparapiFactor3NTTStepStrategy()

- ## Method Details

  - ### transformColumns

    public void transformColumns(DataStorage dataStorage0, DataStorage dataStorage1, DataStorage dataStorage2, long startColumn, long columns, long power2length, long length, boolean isInverse, int modulus) throws ApfloatRuntimeException
    Description copied from interface: `Factor3NTTStepStrategy`
    Transform the columns of a matrix using a 3-point transform.
    Specified by:
      `transformColumns` in interface `Factor3NTTStepStrategy`
    Overrides:
      `transformColumns` in class `IntFactor3NTTStepStrategy`
    Parameters:
      `dataStorage0` - The data of the first column.
      `dataStorage1` - The data of the second column.
      `dataStorage2` - The data of the third column.
      `startColumn` - The starting element index in the data storages to transform.
      `columns` - How many columns to transform.
      `power2length` - Length of the column transform.
      `length` - Length of total transform (three times the length of one column).
      `isInverse` - `true` if an inverse transform is performed, `false` if a forward transform is performed.
      `modulus` - Index of the modulus.
    Throws:
      `ApfloatRuntimeException`