@@ -188,21 +188,24 @@ namespace cp_algo::math::fft {
188
188
checkpoint (" fft" );
189
189
}
190
190
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;
206
193
};
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
+ }();
207
210
}
208
211
#endif // CP_ALGO_MATH_CVECTOR_HPP
0 commit comments