# Interface NTTBuilder

All Known Implementing Classes:
  `AbstractNTTBuilder, DoubleNTTBuilder, FloatNTTBuilder, IntAparapiNTTBuilder, IntNTTBuilder, LongAparapiNTTBuilder, LongNTTBuilder`

public interface NTTBuilder
Interface of a factory for creating Number Theoretic Transforms. The factory method pattern is used.

Version:
  1.7.0
Author:
  Mikko Tommila
See Also:
  - `NTTStrategy`
  - `NTTStepStrategy`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Factor3NTTStepStrategy`
  `createFactor3NTTSteps()`
  Creates an object for implementing the steps of factor-3 NTT.
  `NTTStrategy`
  `createNTT(long size)`
  Creates a Number Theoretic Transform of suitable type for the specified length.
  `NTTConvolutionStepStrategy`
  `createNTTConvolutionSteps()`
  Creates an object for implementing the steps of a three-NTT based convolution.
  `NTTStepStrategy`
  `createNTTSteps()`
  Creates an object for implementing the steps of a step-based Number Theoretic Transform.

- ## Method Details

  - ### createNTT

    NTTStrategy createNTT(long size)
    Creates a Number Theoretic Transform of suitable type for the specified length.
    Parameters:
      `size` - The transform length that will be used.
    Returns:
      A suitable NTT object for performing the transform.

  - ### createNTTSteps

    NTTStepStrategy createNTTSteps()
    Creates an object for implementing the steps of a step-based Number Theoretic Transform.
    Returns:
      A suitable object for performing the transform steps.
    Since:
      1.7.0

  - ### createNTTConvolutionSteps

    NTTConvolutionStepStrategy createNTTConvolutionSteps()
    Creates an object for implementing the steps of a three-NTT based convolution.
    Returns:
      A suitable object for performing the convolution steps.
    Since:
      1.7.0

  - ### createFactor3NTTSteps

    Factor3NTTStepStrategy createFactor3NTTSteps()
    Creates an object for implementing the steps of factor-3 NTT.
    Returns:
      A suitable object for performing the factor-3 NTT steps.
    Since:
      1.7.0