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)); }