algebramix_doc 0.3
roots_triadic_helper< CC, UU, SS > Struct Template Reference

#include <fft_triadic_naive.hpp>

List of all members.

Public Types

Static Public Member Functions


Detailed Description

template<typename CC, typename UU = CC, typename SS = CC>
struct mmx::roots_triadic_helper< CC, UU, SS >

Definition at line 25 of file fft_triadic_naive.hpp.


Member Typedef Documentation

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.


Member Function Documentation

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));
  }
static void fft_shift ( C dest,
S  v,
nat  t 
) [inline, static]

Definition at line 67 of file fft_triadic_naive.hpp.

References mmx::mul().

                                  {
    NVec::mul (dest, C(v), t); }
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));
  }

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines