| 179 | } |
| 180 | |
| 181 | NOINLINE static void fill_second_half(size_t n, double * restrict res) |
| 182 | { |
| 183 | if ((n&1)==0) |
| 184 | for (size_t i=0; i<n; ++i) |
| 185 | res[i+n] = -res[i]; |
| 186 | else |
| 187 | for (size_t i=2, j=2*n-2; i<n; i+=2, j-=2) |
| 188 | { |
| 189 | res[j ] = res[i ]; |
| 190 | res[j+1] = -res[i+1]; |
| 191 | } |
| 192 | } |
| 193 | |
| 194 | NOINLINE static void sincos_2pibyn_half(size_t n, double * restrict res) |
| 195 | { |