Class LongTableFNT

  • Direct Known Subclasses:
    LongNTTStepStrategy, LongTableFNTStrategy

    public class LongTableFNT
    extends LongModMath
    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

      • LongTableFNT

        public LongTableFNT()
        Default constructor.
    • Method Detail

      • tableFNT

        public void tableFNT​(ArrayAccess arrayAccess,
                             long[] 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,
                                    long[] 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