25 #ifndef LBCRYPTO_MATH_DFTRANSFRM_H 26 #define LBCRYPTO_MATH_DFTRANSFRM_H 36 #include "math/backend.h" 37 #include "math/nbtheory.h" 38 #include "utils/utilities.h" 41 #define M_PI 3.14159265358979323846 58 std::vector<std::complex<double>> &A);
67 std::vector<std::complex<double>> &A);
76 std::vector<std::complex<double>> A);
85 std::vector<std::complex<double>> A);
93 static void FFTSpecialInv(std::vector<std::complex<double>> &vals);
101 static void FFTSpecial(std::vector<std::complex<double>> &vals);
108 static void PreComputeTable(uint32_t s);
110 static void Initialize(
size_t m,
size_t nh);
113 static std::complex<double> *rootOfUnityTable;
120 static bool m_isInitialized;
123 static std::vector<uint32_t> m_rotGroup;
125 static std::vector<std::complex<double>> m_ksiPows;
127 static void FFTSpecialInvLazy(std::vector<std::complex<double>> &vals);
129 static void BitReverse(std::vector<std::complex<double>> &vals);
Definition: binfhecontext.h:36