#include <fft_roots.hpp>
Definition at line 119 of file fft_roots.hpp.
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 }
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 }