|
algebramix_doc 0.3
|
#include <fft_triadic_naive.hpp>
Definition at line 25 of file fft_triadic_naive.hpp.
| typedef CC C |
Definition at line 27 of file fft_triadic_naive.hpp.
| typedef implementation<vector_linear,vector_naive> NVec |
Definition at line 26 of file fft_triadic_naive.hpp.
| typedef SS S |
Definition at line 29 of file fft_triadic_naive.hpp.
| typedef UU U |
Definition at line 28 of file fft_triadic_naive.hpp.
| static U* create_roots | ( | nat | n | ) | [inline, static] |
Definition at line 32 of file fft_triadic_naive.hpp.
References mmx::digit_mirror_triadic().
{
U* roots= mmx_new<U> (n);
for (nat i=0; i<n; i++)
roots[i] = primitive_root<C> (n, digit_mirror_triadic (i, n));
return roots; }
| static U* create_stoor | ( | nat | n | ) | [inline, static] |
Definition at line 39 of file fft_triadic_naive.hpp.
References mmx::digit_mirror_triadic().
{
U* stoor= mmx_new<U> (n);
for (nat i=0; i<n; i++)
stoor[i]= primitive_root<C> (n, i==0 ? 0 :
n - digit_mirror_triadic (i, n));
return stoor; }
| static void destroy_roots | ( | U * | u, |
| nat | n | ||
| ) | [inline, static] |
Definition at line 47 of file fft_triadic_naive.hpp.
{
mmx_delete<U> (u, n); }
| static void dfft_cross | ( | C * | c1, |
| C * | c2, | ||
| C * | c3, | ||
| const U * | u1, | ||
| const U * | u2, | ||
| const U * | u3 | ||
| ) | [inline, static] |
Definition at line 51 of file fft_triadic_naive.hpp.
{
C temp1= *c1, temp2= *c2;
*c1 = temp1 + (*u1) * (temp2 + (*u1) * (*c3));
*c2 = temp1 + (*u2) * (temp2 + (*u2) * (*c3));
*c3 = temp1 + (*u3) * (temp2 + (*u3) * (*c3));
}
Definition at line 67 of file fft_triadic_naive.hpp.
References mmx::mul().
| static void ifft_cross | ( | C * | c1, |
| C * | c2, | ||
| C * | c3, | ||
| const U * | u1, | ||
| const U * | u2, | ||
| const U * | u3 | ||
| ) | [inline, static] |
Definition at line 59 of file fft_triadic_naive.hpp.
{
C temp1= *c1, temp2= *c2;
*c1 = temp1 + temp2 + (*c3);
*c2 = (*u1) * temp1 + (*u2) * temp2 + (*u3) * (*c3);
*c3 = (*u1) * ((*u1) * temp1 + (*u3) * temp2 + (*u2) * (*c3));
}