# Interface Factor3NTTStepStrategy

All Known Implementing Classes:
  `DoubleFactor3NTTStepStrategy, FloatFactor3NTTStepStrategy, IntAparapiFactor3NTTStepStrategy, IntFactor3NTTStepStrategy, LongAparapiFactor3NTTStepStrategy, LongFactor3NTTStepStrategy`

public interface Factor3NTTStepStrategy
Steps for the factor-3 NTT.

Since:
  1.7.0
Version:
  1.7.0
Author:
  Mikko Tommila

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getMaxTransformLength()`
  Get the maximum transform length.
  `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.

- ## Method Details

  - ### transformColumns

    void transformColumns(DataStorage dataStorage0, DataStorage dataStorage1, DataStorage dataStorage2, long startColumn, long columns, long power2length, long length, boolean isInverse, int modulus) throws ApfloatRuntimeException
    Transform the columns of a matrix using a 3-point transform.
    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`

  - ### getMaxTransformLength

    long getMaxTransformLength()
    Get the maximum transform length.
    Returns:
      The maximum transform length.