# Uses of Interface
org.apfloat.spi.NTTStrategy

Packages that use NTTStrategy
Package
Description
org.apfloat.aparapi
Transforms for using a GPU via the aparapi library.
org.apfloat.internal
Default implementations of the apfloat Service Provider Interface (SPI).
org.apfloat.spi
The apfloat Service Provider Interface (SPI).

- ## Uses of NTTStrategy in org.apfloat.aparapi

  Subinterfaces of NTTStrategy in org.apfloat.aparapi
  Modifier and Type
  Interface
  Description
  `interface`
  `IntAparapiNTTStrategy`
  NTT strategy with decorator to set up the data for the GPU, for the `int` element type.
  `interface`
  `LongAparapiNTTStrategy`
  NTT strategy with decorator to set up the data for the GPU, for the `long` element type.
  Classes in org.apfloat.aparapi that implement NTTStrategy
  Modifier and Type
  Class
  Description
  `class`
  `ColumnSixStepFNTStrategy`
  Six-step NTT implementation that processes the data in the columns of the matrix.
  `class`
  `ColumnTwoPassFNTStrategy`
  Two-pass NTT implementation that processes the data in the columns of the matrix.
  `class`
  `DecorableFactor3NTTStrategy`
  Factor-3 NTT strategy that can be decorated.
  `class`
  `IntAparapiColumnSixStepFNTStrategy`
  Six-step NTT implementation for the `int` element type using column orientation.
  `class`
  `IntAparapiColumnTwoPassFNTStrategy`
  Two-pass NTT implementation for the `int` element type using column orientation.
  `class`
  `IntAparapiFactor3NTTStrategy`
  Factor-3 NTT implementation for the `int` element type.
  `class`
  `IntAparapiSixStepFNTStrategy`
  Six-step NTT implementation for the `int` element type using row orientation.
  `class`
  `IntAparapiTwoPassFNTStrategy`
  Two-pass NTT implementation for the `int` element type using row orientation.
  `class`
  `LongAparapiColumnSixStepFNTStrategy`
  Six-step NTT implementation for the `long` element type using column orientation.
  `class`
  `LongAparapiColumnTwoPassFNTStrategy`
  Two-pass NTT implementation for the `long` element type using column orientation.
  `class`
  `LongAparapiFactor3NTTStrategy`
  Factor-3 NTT implementation for the `long` element type.
  `class`
  `LongAparapiSixStepFNTStrategy`
  Six-step NTT implementation for the `long` element type using row orientation.
  `class`
  `LongAparapiTwoPassFNTStrategy`
  Two-pass NTT implementation for the `long` element type using row orientation.
  Methods in org.apfloat.aparapi that return NTTStrategy
  Modifier and Type
  Method
  Description
  `protected NTTStrategy`
  IntAparapiNTTBuilder.`createFactor3NTTStrategy(long size, NTTStrategy nttStrategy)`
  `protected NTTStrategy`
  LongAparapiNTTBuilder.`createFactor3NTTStrategy(long size, NTTStrategy nttStrategy)`
  `protected NTTStrategy`
  IntAparapiNTTBuilder.`createSixStepFNTStrategy(long size)`
  `protected NTTStrategy`
  LongAparapiNTTBuilder.`createSixStepFNTStrategy(long size)`
  `protected NTTStrategy`
  IntAparapiNTTBuilder.`createTwoPassFNTStrategy(long size)`
  `protected NTTStrategy`
  LongAparapiNTTBuilder.`createTwoPassFNTStrategy(long size)`
  Methods in org.apfloat.aparapi with parameters of type NTTStrategy
  Modifier and Type
  Method
  Description
  `protected NTTStrategy`
  IntAparapiNTTBuilder.`createFactor3NTTStrategy(long size, NTTStrategy nttStrategy)`
  `protected NTTStrategy`
  LongAparapiNTTBuilder.`createFactor3NTTStrategy(long size, NTTStrategy nttStrategy)`
  Constructors in org.apfloat.aparapi with parameters of type NTTStrategy
  Modifier
  Constructor
  Description
  ``
  `DecorableFactor3NTTStrategy(NTTStrategy factor2Strategy)`
  Creates a new factor-3 transform strategy on top of an existing transform.
  ``
  `DecorableFactor3NTTStrategy(NTTStrategy factor2Strategy, Factor3NTTStepStrategy stepStrategy)`
  Creates a new factor-3 transform strategy on top of an existing factor-2 transform and a factor-3 step strategy.
  ``
  `IntAparapiFactor3NTTStrategy(NTTStrategy factor2Strategy)`
  Creates a new factor-3 transform strategy on top of an existing transform.
  ``
  `LongAparapiFactor3NTTStrategy(NTTStrategy factor2Strategy)`
  Creates a new factor-3 transform strategy on top of an existing transform.

- ## Uses of NTTStrategy in org.apfloat.internal

  Classes in org.apfloat.internal that implement NTTStrategy
  Modifier and Type
  Class
  Description
  `class`
  `AbstractStepFNTStrategy`
  Abstract superclass for step-based FNT strategies.
  `class`
  `DoubleTableFNTStrategy`
  Fast Number Theoretic Transform strategy that uses lookup tables for powers of n:th root of unity and permutation indexes.
  `class`
  `Factor3NTTStrategy`
  A transform that implements a 3-point transform on top of another Number Theoretic Transform that does transforms of length 2n.
  `class`
  `FloatTableFNTStrategy`
  Fast Number Theoretic Transform strategy that uses lookup tables for powers of n:th root of unity and permutation indexes.
  `class`
  `IntTableFNTStrategy`
  Fast Number Theoretic Transform strategy that uses lookup tables for powers of n:th root of unity and permutation indexes.
  `class`
  `LongTableFNTStrategy`
  Fast Number Theoretic Transform strategy that uses lookup tables for powers of n:th root of unity and permutation indexes.
  `class`
  `SixStepFNTStrategy`
  Fast Number Theoretic Transform that uses a "six-step" algorithm to calculate a long transform more efficiently on cache-based memory architectures.
  `class`
  `TwoPassFNTStrategy`
  Fast Number Theoretic Transform that uses a "two-pass" algorithm to calculate a very long transform on data that resides on a mass storage device.
  Fields in org.apfloat.internal declared as NTTStrategy
  Modifier and Type
  Field
  Description
  `protected NTTStrategy`
  ThreeNTTConvolutionStrategy.`nttStrategy`
  The transform to use.
  Methods in org.apfloat.internal that return NTTStrategy
  Modifier and Type
  Method
  Description
  `protected NTTStrategy`
  AbstractNTTBuilder.`createFactor3NTTStrategy(long size, NTTStrategy nttStrategy)`
  Create a factor-3 NTT strategy on top of another NTT strategy.
  `NTTStrategy`
  AbstractNTTBuilder.`createNTT(long size)`
  `protected abstract NTTStrategy`
  AbstractNTTBuilder.`createSimpleFNTStrategy(long size)`
  Create a simple NTT strategy.
  `protected NTTStrategy`
  DoubleNTTBuilder.`createSimpleFNTStrategy(long size)`
  `protected NTTStrategy`
  FloatNTTBuilder.`createSimpleFNTStrategy(long size)`
  `protected NTTStrategy`
  IntNTTBuilder.`createSimpleFNTStrategy(long size)`
  `protected NTTStrategy`
  LongNTTBuilder.`createSimpleFNTStrategy(long size)`
  `protected NTTStrategy`
  AbstractNTTBuilder.`createSixStepFNTStrategy(long size)`
  Create a six-step NTT strategy.
  `protected NTTStrategy`
  AbstractNTTBuilder.`createTwoPassFNTStrategy(long size)`
  Create a two-pass NTT strategy.
  Methods in org.apfloat.internal with parameters of type NTTStrategy
  Modifier and Type
  Method
  Description
  `protected NTTStrategy`
  AbstractNTTBuilder.`createFactor3NTTStrategy(long size, NTTStrategy nttStrategy)`
  Create a factor-3 NTT strategy on top of another NTT strategy.
  `protected abstract ConvolutionStrategy`
  AbstractConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  Create a 3-NTT convolution strategy.
  `protected ConvolutionStrategy`
  DoubleConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  `protected ConvolutionStrategy`
  FloatConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  `protected ConvolutionStrategy`
  IntConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  `protected ConvolutionStrategy`
  LongConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  Constructors in org.apfloat.internal with parameters of type NTTStrategy
  Modifier
  Constructor
  Description
  ``
  `Factor3NTTStrategy(NTTStrategy factor2Strategy)`
  Creates a new factor-3 transform strategy on top of an existing transform.
  ``
  `Factor3NTTStrategy(NTTStrategy factor2Strategy, Factor3NTTStepStrategy stepStrategy)`
  Creates a new factor-3 transform strategy on top of an existing factor-2 transform and a factor-3 step strategy.
  ``
  `ParallelThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  Creates a new convoluter that uses the specified transform for transforming the data.
  ``
  `ThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  Creates a new convoluter that uses the specified transform for transforming the data.

- ## Uses of NTTStrategy in org.apfloat.spi

  Methods in org.apfloat.spi that return NTTStrategy
  Modifier and Type
  Method
  Description
  `NTTStrategy`
  NTTBuilder.`createNTT(long size)`
  Creates a Number Theoretic Transform of suitable type for the specified length.