@@ -77,13 +77,13 @@ inline void TwistNTT(Polynomial<P> &res, PolynomialNTT<P> &a)
7777template <class P >
7878inline void TwistFFT (Polynomial<P> &res, const PolynomialInFD<P> &a)
7979{
80- if constexpr (std::is_same_v<P, lvl1param>) {
80+ if constexpr (std::is_same_v<P, lvl1param> || std::is_same_v<P, AHlvl1param> ) {
8181 if constexpr (std::is_same_v<typename P::T, uint32_t >)
8282 // if constexpr(hasq<P>)
8383 // fftplvl1.execute_direct_torus32_q(res.data(), a.data(), P::q);
8484 // else
8585 fftplvl1.execute_direct_torus32 (res.data (), a.data ());
86- if constexpr (std::is_same_v<typename P::T, uint64_t >)
86+ else if constexpr (std::is_same_v<typename P::T, uint64_t >)
8787 fftplvl1.execute_direct_torus64 (res.data (), a.data ());
8888 }
8989 else if constexpr (std::is_same_v<typename P::T, uint64_t >)
@@ -133,7 +133,7 @@ inline void TwistINTT(PolynomialNTT<P> &res, const Polynomial<P> &a)
133133template <class P >
134134inline void TwistIFFT (PolynomialInFD<P> &res, const Polynomial<P> &a)
135135{
136- if constexpr (std::is_same_v<P, lvl1param>) {
136+ if constexpr (std::is_same_v<P, lvl1param> || std::is_same_v<P, AHlvl1param> ) {
137137 if constexpr (std::is_same_v<typename P::T, uint32_t >)
138138 fftplvl1.execute_reverse_torus32 (res.data (), a.data ());
139139 if constexpr (std::is_same_v<typename P::T, uint64_t >)
@@ -148,7 +148,7 @@ inline void TwistIFFT(PolynomialInFD<P> &res, const Polynomial<P> &a)
148148template <class P >
149149inline void TwistIFFTUInt (PolynomialInFD<P> &res, const Polynomial<P> &a)
150150{
151- if constexpr (std::is_same_v<P, lvl1param>) {
151+ if constexpr (std::is_same_v<P, lvl1param> || std::is_same_v<P, AHlvl1param> ) {
152152 if constexpr (std::is_same_v<typename P::T, uint32_t >)
153153 fftplvl1.execute_reverse_uint (res.data (), a.data ());
154154 // if constexpr (std::is_same_v<typename P::T, uint64_t>)
0 commit comments