@@ -188,21 +188,24 @@ namespace cp_algo::math::fft {
188188 checkpoint (" fft" );
189189 }
190190 static constexpr size_t pre_evals = 1 << 16 ;
191- static constexpr std::array<size_t , pre_evals> eval_args = []() {
192- std::array<size_t , pre_evals> res = {};
193- for (size_t i = 1 ; i < pre_evals; i++) {
194- res[i] = res[i >> 1 ] | (i & 1 ) << (std::bit_width (i) - 1 );
195- }
196- return res;
197- }();
198- static constexpr std::array<point, pre_evals> evalp = []() {
199- std::array<point, pre_evals> res = {};
200- res[0 ] = 1 ;
201- for (size_t n = 1 ; n < pre_evals; n++) {
202- res[n] = polar (1 ., std::numbers::pi * ftype (eval_args[n]) / ftype (4 * std::bit_floor (n)));
203- }
204- return res;
205- }();
191+ static const std::array<size_t , pre_evals> eval_args;
192+ static const std::array<point, pre_evals> evalp;
206193 };
194+
195+ const std::array<size_t , cvector::pre_evals> cvector::eval_args = []() {
196+ std::array<size_t , pre_evals> res = {};
197+ for (size_t i = 1 ; i < pre_evals; i++) {
198+ res[i] = res[i >> 1 ] | (i & 1 ) << (std::bit_width (i) - 1 );
199+ }
200+ return res;
201+ }();
202+ const std::array<point, cvector::pre_evals> cvector::evalp = []() {
203+ std::array<point, pre_evals> res = {};
204+ res[0 ] = 1 ;
205+ for (size_t n = 1 ; n < pre_evals; n++) {
206+ res[n] = polar (1 ., std::numbers::pi * ftype (eval_args[n]) / ftype (4 * std::bit_floor (n)));
207+ }
208+ return res;
209+ }();
207210}
208211#endif // CP_ALGO_MATH_CVECTOR_HPP
0 commit comments