Class FloatTableFNT

  • Direct Known Subclasses:
    FloatNTTStepStrategy, FloatTableFNTStrategy

    public class FloatTableFNT
    extends FloatModMath
    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

      • FloatTableFNT

        public FloatTableFNT()
        Default constructor.
    • Method Detail

      • tableFNT

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