primitive_root_helper_modular_int< I, V, W > Struct Template Reference

#include <fft_roots.hpp>

List of all members.

Public Types

Static Public Member Functions


Detailed Description

template<typename I, typename V, typename W>
struct mmx::primitive_root_helper_modular_int< I, V, W >

Definition at line 119 of file fft_roots.hpp.


Member Typedef Documentation

typedef modular<modulus<I,V>,W> C

Definition at line 120 of file fft_roots.hpp.


Member Function Documentation

static nat max_order ( nat  b  )  [inline, static]

Definition at line 123 of file fft_roots.hpp.

00123                     {
00124     I m, p= * C::get_modulus ();
00125     return primitive_root_max_order_int (b, p, m);
00126   }

static C op ( nat  n,
nat  i,
const format< C > &  fm 
) [inline, static]

Definition at line 129 of file fft_roots.hpp.

00129                                          {
00130     (void) fm; /*FIXME*/ // the format should be used
00131     nat b, k;
00132     if (n == next_power_of_two (n)) b = 2;
00133     else if (n == next_power_of_three (n)) b = 3;
00134     else ERROR ("only radices 2 and 3 are implemented");
00135     I m, p= * C::get_modulus ();
00136     C v= primitive_root_max_int (b, p, k, m);
00137     VERIFY (n <= k, "maximal order exceeded");
00138     // v is now a primitive root of maximal order k
00139     return binpow (v, i * (k / n));
00140   }


The documentation for this struct was generated from the following file:

Generated on 6 Dec 2012 for algebramix by  doxygen 1.6.1