Class DoubleTableFNT

  • Direct Known Subclasses:
    DoubleNTTStepStrategy, DoubleTableFNTStrategy

    public class DoubleTableFNT
    extends DoubleModMath
    Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.

    All access to this class must be externally synchronized.

    Since:
    1.7.0
    Version:
    1.7.0
    Author:
    Mikko Tommila
    • Constructor Detail

      • DoubleTableFNT

        public DoubleTableFNT()
        Default constructor.
    • Method Detail

      • tableFNT

        public void tableFNT​(ArrayAccess arrayAccess,
                             double[] wTable,
                             int[] permutationTable)
                      throws ApfloatRuntimeException
        Forward (Sande-Tukey) fast Number Theoretic Transform. Data length must be a power of two.
        Parameters:
        arrayAccess - The data array to transform.
        wTable - Table of powers of n:th root of unity w modulo the current modulus.
        permutationTable - Table of permutation indexes, or null if the data should not be permuted.
        Throws:
        ApfloatRuntimeException
      • inverseTableFNT

        public void inverseTableFNT​(ArrayAccess arrayAccess,
                                    double[] wTable,
                                    int[] permutationTable)
                             throws ApfloatRuntimeException
        Inverse (Cooley-Tukey) fast Number Theoretic Transform. Data length must be a power of two.
        Parameters:
        arrayAccess - The data array to transform.
        wTable - Table of powers of n:th root of unity w modulo the current modulus.
        permutationTable - Table of permutation indexes, or null if the data should not be permuted.
        Throws:
        ApfloatRuntimeException